Development

Documentation/nl_NL/book/1.0/04-The-Basics-Of_Page-Creation

You must first sign up to be able to contribute.

Version 3 (modified by jaapio, 10 years ago)
add some new translations

Vreemd genoeg, de eerste tutorial die een programmeur volgt wanneer hij een nieuwe taal of framework leert is die "Hello, world!" weergeeft op het scherm. Het is een vreemde gedachte dat een computer een ding is dat de hele wereld kan groeten. Het getuigd van slechte communicatieve ambities. Maar symfony is niet gelijk aan andere programma's , en het bewijs is, je kunt een pagina maken dat "hello, <Your Name Here>" weergeeft.

In dit hoofdstuk zult u leren hoe u een module moet maken, Een moduel is een gestructureerd onderdeel dat een groep van pagina's vormt. U zal ook leren hoe u een pagina maakt bestaande uit een template en een actie, volgens het MVC patroon. Links en forms zijn de basis van interactieve websites. U zult zien hoe u ze moet invoegen in een template en hoe u ze kunt afhandelen in een actie

Het maken van een module

Zoals in hoofdstuk 2 is uitgelegd, groepeert synfony pagina's in modules. Voor u een pagina kunt maken dient u eerst een module te maken, dit is een lege huls met een bestandsstructuur die symfony herkent.

De command line van symfony automatiseert het aanmaken van modules. U hoeft slechts de genrete:module taak aan te roepen met de naam van de applicatie en de module naam als argumenten. In her vorige hoofdstuk werd uitgelegd hoe u een frondend applicatie kan maken. Om een module to te voegen aan deze applicatie voert u de volgende commando's uit:

> cd ~/myproject
> php symfony generate:module frontend content

>> dir+      ~/myproject/apps/frontend/modules/content/actions
>> file+     ~/myproject/apps/frontend/modules/content/actions/actions.class.php
>> dir+      ~/myproject/apps/frontend/modules/content/templates
>> file+     ~/myproject/apps/frontend/modules/content/templates/indexSuccess.php
>> file+     ~/myproject/test/functional/frontend/contentActionsTest.php
>> tokens    ~/myproject/test/functional/frontend/contentActionsTest.php
>> tokens    ~/myproject/apps/frontend/modules/content/actions/actions.class.php
>> tokens    ~/myproject/apps/frontend/modules/content/templates/indexSuccess.php

Afgezien van de mappen actions/ en templates/, maakt dit commando slechts drie bestanden aan. Een in de test/ map die een functionele test bevat. U hoeft zich hier niets van aan te trekken dit word later behandeld in hoofdstuk 15. De actions.class.php (Code blok 4-1) stuurt u standaard door naar de congratulation pagina. De templates/indexSuccess.php is een leeg bestand.

Code blok 4-1 - De gegenereerde Action, in actions/actions.class.php

<?php
 
class contentActions extends sfActions
{
  public function executeIndex()
  {
    $this->forward('default', 'module');
  }
}
?>

Als u gaat kijken naar het actions.class.php bestand, zult u meer regels code vinden dan deze regels, plus een hoop commendaar. Dit is omdat symfony het aanbeveelt PHP commentaar te gebruiken in uw project. En geeft een opzet bij elke klasse zodat deze compatible is met de phpDocumentor tool (http://www.phpdoc.org/).

Voor elke nieuwe module maakt symfony een standaard index actie aan. Deze bestaat uit een actie methode genaamd executeIndex en een template bestand genaamd indesSuccess.php. De betekenis van de voorvoegsels execute en Success worden in hoofdstuk 6 en 7 toegelicht. Over het algemeen mag u er van uit gaan dat deze benaming een afspraak is. U kunt de corresponderende pagina bekijken door naar de onderstaande link te gaan:

http://localhost/frontend_dev.php/content/index

De standaard index actie zal niet worden gebruikt in dit hoofdstuk, dus kunt u de methode executeIndex() verwijderden uit het actions.class.php bestand. En het Bestand indexSuccess.php uit de templates/ map verwijderen.