Development

Documentation/cs_CZ/book/1.0/04-The-Basics-of-Page-Creation (diff)

You must first sign up to be able to contribute.

Changes between Version 2 and Version 3 of Documentation/cs_CZ/book/1.0/04-The-Basics-of-Page-Creation

Show
Ignore:
Author:
Vit.Kotacka (IP: 85.160.71.84)
Timestamp:
08/10/07 06:16:21 (10 years ago)
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Documentation/cs_CZ/book/1.0/04-The-Basics-of-Page-Creation

    v2 v3  
    4848 
    4949>**NOTE** 
    50 >If you look at an actual `actions.class.php` file, you will find more than these few lines, including a lot of comments. This is because symfony recommends using PHP comments to document your project and prepares each class file to be compatible with the phpDocumentor tool ([http://www.phpdoc.org/](http://www.phpdoc.org/)). 
    51  
    52 For each new module, symfony creates a default `index` action. It is composed of an action method called `executeIndex` and a template file called `indexSuccess.php`. The meanings of the `execute` prefix and `Success` suffix will be explained in Chapters 6 and 7, respectively. In the meantime, you can consider that this naming is a convention. You can see the corresponding page (reproduced in Figure 4-1) by browsing to the following URL: 
     50>Když se nyní podíváte do aktuálního souboru `actions.class.php`, najdete zde pár nových řádek včetně množství komentářů. To proto, že symfony doporučuje používat PHP komentáře pro dokumentaci vašich projektů a připravuje každý soubor třídy tak, aby byl kompatibilní s nástrojem phpDocumentor ([http://www.phpdoc.org/](http://www.phpdoc.org/)). 
     51 
     52Pro každý nový modul vytvoří symfony výchozí akci nazvanou `index`, která se skládá z metody akce `executeIndex()` a souboru šablony `indexSuccess.php`. Význam předpony `execute` a přípony `Success` bude vysvětlen v Kapitolách 6 a 7. Prozatím to můžete považovat za jmennou konvenci. Korespondující stránku (reprodukovanou na Obrázku 4-1) si můžete zobrazit zadáním URL: 
    5353 
    5454    http://localhost/myapp_dev.php/mymodule/index 
    5555 
    56 The default `index` action will not be used in this chapter, so you can remove the `executeIndex()` method from the `actions.class.php` file, and delete the `indexSuccess.php` file from the `templates/` directory
    57  
    58 >**NOTE** 
    59 >Symfony offers other ways to initiate a module than the command line. One of them is to create the directories and files yourself. In many cases, actions and templates of a module are meant to manipulate data of a given table. As the necessary code to create, retrieve, update, and delete records from a table is often the same, symfony provides a mechanism called scaffolding to generate this code for you. Refer to Chapter 14 for more information about this technique. 
    60  
    61 Figure 4-1 - The default generated index page 
    62  
    63 ![The default generated index page](/images/book/F0401.jpg "The default generated index page") 
    64  
    65 Adding a Page 
    66 ------------- 
    67  
    68 In symfony, the logic behind pages is stored in the action, and the presentation is in templates. Pages without logic (still) require an empty action
    69  
    70 ### Adding an Action 
    71  
    72 The "Hello, world!" page will be accessible through a `myAction` action. To create it, just add an `executeMyAction` method to the `mymoduleActions` class, as shown in Listing 4-2. 
    73  
    74 Listing 4-2 - Adding an Action Is Like Adding an Execute Method to the Action Class 
     56Výchozí akce `index` v této kapitole použita nebude, takže metodu `executeIndex()` můžete ze souboru `actions.class.php` odstranit a také smazat soubor `indexSuccess.php` z adresáře `templates/`
     57 
     58>**NOTE** 
     59>Symfony nabízí i další způsoby jako iniciovat modul, než použitím příkazové řádky. Jeden z nich je, že potřebné adresáře a soubory si vytvoříte sami. V mnoha případech jsou akce a šablony určeny k tomu, aby manipulovaly s daty dané tabulky. Potřebný kód, který vytvoří, vrátí zpátky, upraví a smaže záznam v tabulce, je často velice podobný. Pro tyto případy poskytuje symfony mechanismus zvaný scaffolding, který tento kód pro vás vygeneruje. Kapitola 14 nabízí více informací o této technice. 
     60 
     61Obrázek 4-1 - Výchozí vygenerovaná index stránka 
     62 
     63![Výchozí vygenerovaná index stránka](/images/book/F0401.jpg "Výchozí vygenerovaná index stránka") 
     64 
     65Přidání stránky 
     66--------------- 
     67 
     68V symfony je logika skrývající se za stránkami uložena v akcích a prezentace je uložena v šablonách. I když stránka nemá žádnou logiku i přesto stále potřebuje prázdnou akci
     69 
     70### Přidání akce 
     71 
     72Stránka "Hello, world!" bude přístupná přes akci `myAction`. Pro její vytvoření stačí přidat metodu `executeMyAction` do třídy `mymoduleActions`, jak je ukázáno ve Výpisu 4-2. 
     73 
     74Výpis 4-2 - Přidání akce se provede přidáním metody Execute do třídy akce 
    7575 
    7676    [php] 
    8484    } 
    8585 
    86 The name of the action method is always `execute``Xxx``()`, where the second part of the name is the action name with the first letter capitalized
    87  
    88 Now, if you request the following URL: 
     86Název metody akce je vždy `execute``Xxx``()`, kde druhá část názvu je název akce s velkým prvním písmenem
     87 
     88Pokud nyní zadáte následující URL: 
    8989 
    9090    http://localhost/myapp_dev.php/mymodule/myAction 
    9191 
    92 symfony will complain that the `myActionSuccess.php` template is missing. That's normal; in symfony, a page is always made of an action and a template. 
     92bude si symfony stěžovat, že chybí šablona `myActionSuccess.php`. To je normální -- v symfony je stránka vždy tvořena akcí a šablonou. 
     93 
    9394 
    9495>**CAUTION** 
    95 >URLs (not domain names) are case-sensitive, and so is symfony (even though the method names are case-insensitive in PHP). This means that if you add an `executemyaction()` method, or an `executeMyaction()`, and then you call `myAction` with the browser, symfony will return a 404 error
     96>URL (ne doménové názvy) jsou citlivé na velikost písmen a stejně tak i symfony (třebaže v názvech metod v PHP na velikosti písmen nezáleží). To znamená, že když přidáte metodu `executemyaction()` nebo `executeMyaction()` a potom v prohlížeči zavoláte `myAction`, vrátí symfony chybu 404
    9697 
    9798- 
    9899 
    99100>**SIDEBAR** 
    100 >URLs are part of the response 
     101>URL jsou částí odezvy 
    101102> 
    102103>Symfony contains a routing system that allows you to have a complete separation between the actual action name and the form of the URL needed to call it. This allows for custom formatting of the URL as if it were part of the response. You are no longer limited by the file structure nor by the request parameters; the URL for an action can look like the phrase you want. For instance, the call to the index action of a module called article usually looks like this: