Aan de slag met CakePHP

CakePHP is een open-source framework voor PHP, bedoeld om het ontwikkelen, implementeren en onderhouden van applicaties een stuk eenvoudiger te maken. CakePHP biedt veel bruikbare ontwerppatronen, zoals het Model-View-Controller-patroon, gezien in andere populaire frameworks zoals Ruby On Rails. Het CakePHP-framework biedt ook een hele reeks waardevolle herbruikbare bibliotheken voor het omgaan met algemene taken. Een voorbeeld is "Inflector" (een routine die een string nodig heeft en pluralisering verwerkt).

Deze gids zal proberen u in de juiste richting te wijzen, zodat u aan de slag kunt met CakePHP en uiteindelijk uw eigen applicaties kunt ontwikkelen.

Stap 1: Waarom CakePHP?

Een aanzienlijke hoeveelheid ontwikkeltijd met PHP wordt besteed aan het herschrijven van gemeenschappelijke code voor routinematige bewerkingen zoals databasetoegang of het retourneren van gegevens naar de browser. Natuurlijk kan al deze routine code snel ongeorganiseerd raken in traditionele PHP-applicaties. Wat nodig is, is een raamwerk voor PHP dat wat doet Ruby On Rails deed voor Ruby.

CakePHP bestaat al een tijdje en doet precies dat. Het biedt een aantal bruikbare bibliotheken ter ondersteuning van algemene taken en omvat faciliteiten voor het organiseren van code in mappen en het koppelen van code aan bestanden. Als gevolg hiervan wordt de tijd die wordt besteed aan het schrijven en organiseren van code aanzienlijk verkort.

Hieronder zijn net een paar dingen die CakePHP aanbiedt om ontwikkeling gemakkelijker te maken.

  • Gratis open-source MIT-licentie waarmee u CakePHP-toepassingen kunt gebruiken in al uw eigen projecten.
  • Compatibiliteit met zowel PHP4 als PHP5. De minimale vereiste versie is 4.3.2.
  • Ondersteuning voor MySQL, PostgreSQL SQLite, PEAR-DB en wrappers voor ADODB, een database voor abstractiebibliotheek.
  • Model-View-Controller-indeling.
  • Eenvoudige CRUD (Maken, Lezen, Bijwerken en Verwijderen) database-interactie.
  • Steigers om productietijd te besparen.
  • Zoekmachine-vriendelijke URL's.
  • Inputvalidatie- en ontsmettingsmiddelen om uw applicaties veel veiliger te maken.
  • Templeren met vertrouwde PHP-syntaxis.
  • Caching-bewerkingen.

Stap 2: download het framework

Voordat u met CakePHP gaat ontwikkelen, heeft u uw eigen kopie van het framework naar uw server nodig. Ga naar CakePHP.org en klik op de grote knop "Downloaden". Zorg ervoor dat u de stabiele release downloadt en niet de release candidate. Er zijn ook veel verschillende bestandsindelingen beschikbaar, zodat u de beste kunt kiezen voor uw computer.

Stap 3: De bestandsstructuur uploaden en begrijpen

Zodra u uw nieuwe exemplaar van CakePHP uit de oven hebt gehaald, moet u de kopie uploaden naar een voor PHP en MySQL geschikte webruimte. Ik zou aanraden om een ​​nieuwe directory voor CakePHP-projecten te maken.

Zodra de upload is voltooid, ziet de directorystructuur er ongeveer zo uit:

 / path_to_root_folder / cake / / docs / app / config / controllers / modellen / plug-ins / tmp / leveranciers / views / webroot / index.php .htaccess / vendors / index.php .htaccess

Al deze mappen of mappen kunnen in het begin een beetje ontmoedigend lijken, maar de afzonderlijke mappen zijn bedoeld om alle raamwerkcomponenten beter te organiseren. Omdat namen zoals "tmp" niet vanzelfsprekend zijn, is dit waar deze mappen voor zijn:

  • De cake map bewaart alle kernfuncties en internals voor CakePHP. U hoeft hier meestal niets te bewerken.
  • De docs map bevat heel weinig, maar bevat wel de licentie-informatie (COPYING.txt), een wijzigingslog en enkele andere nuttige bestanden. Deze map is niet belangrijk voor CakePHP om te worden uitgevoerd, dus u kunt deze verwijderen als u dat wenst.
  • De app map is waar uw applicatiecode naartoe gaat. De app-map bevat uw controllers, configuratie, sjablonen en nog veel meer.
    • De config map bevat alle configuratiebestanden voor de toepassing. Dit omvat databasedetails, toegangslijst, verbuigingen en routes (URL-herschrijving).
    • De modellen map slaat alle SQL-database-functionaliteit voor uw toepassing op.
    • De keer bekeken map slaat alle sjablonen, lay-outs (header, footer) en helper-modules op die de functionaliteit ondersteunen (zoals AJAX).
    • De controllers map slaat alle controllers voor uw toepassing op. Een controller is het deel van de applicatie dat het model en de views regisseert en bestuurt door invoer te accepteren en te beslissen wat ermee te doen.
    • De plugins invoegtoepassingen voor maparchieven die een combinatie zijn van modellen, weergaven en controllers die kunnen worden verpakt en in andere toepassingen kunnen worden gebruikt. Voorbeelden zijn gebruikersbeheermodules of een RSS-module.
    • De tmp map slaat cachebestanden op die zijn gegenereerd door het caching-systeem en slaat ook foutopsporingslogboeken op. Deze map zal zeer waardevol zijn tijdens de ontwikkeling.
    • De vendors map, kan andere bibliotheken bevatten die u in een bepaalde toepassing wilt opnemen.
    • De webroot map slaat statische media op zoals CSS, afbeeldingen en het JavaScript dat uw toepassing nodig heeft.
  • De seconde vendors directory zal je toelaten om bibliotheken van derden op te slaan en in te loggen vanuit je CakePHP-controllers. Als we bijvoorbeeld een Facebook-applicatie met CakePHP willen bouwen, kunnen we de Facebook-bibliotheek binnengaan en CakePHP configureren om het te laden.

Stap 4: CakePHP configureren

CakePHP configureren is vrij eenvoudig. We hoeven CakePHP alleen onze databasedetails te vertellen en in te stellen hoe we willen dat de kernfunctionaliteit werkt.

Voor ontwikkelingsdoeleinden moet u een nieuwe database en een gebruiker maken met de volgende rechten: ALTER, CREËER TIJDELIJKE TABELLEN, MAKEN, VERWIJDEREN, DROPEN, SELECTEREN, INSERT, UPDATE, REFERENTIES, INDEX, SLOTTABELLEN.

Nadat de gebruiker en de database zijn gemaakt, kunnen we het databaseconfiguratiebestand van CakePHP vinden, dat zich bevindt in /app/config/database.php.default

Open en scrol omlaag naar de volgende array

 var $ default = array ('driver' => 'mysql', 'connect' => 'mysql_connect', 'host' => 'localhost', 'login' => 'gebruiker', 'wachtwoord' => 'wachtwoord' , 'database' => 'projectnaam', 'prefix' => ");

en vul indien nodig uw databasegegevens in. Als u om een ​​of andere reden geen nieuwe database kunt maken of als uw host dit niet toestaat, kunt u een tabelvoorvoegsel voor al uw CakePHP-tabellen instellen door een waarde in de 'prefix' index in te stellen. Zorg ervoor dat je dit bestand hernoemt naar /app/config/database.php

Meer kernconfiguratie bevindt zich in /app/config/core.php. U kunt het niveau van foutopsporingsinformatie, hoe sessies worden opgeslagen, sessietime-outs voor beveiliging en de namen van cookies wijzigen. Zodra we beginnen met ontwikkelen, moeten we deze mogelijk aanpassen, maar de standaardinstellingen zijn goed voor de meeste behoeften.

Stap 5: Zorgen dat het werkt

Nadat u de juiste databasedetails hebt ingevoerd en alle CakePHP-bestanden hebt geüpload, moet de installatie klaar zijn voor ontwikkeling. Wijs uw browser naar de map waarnaar u de installatie hebt geüpload. Als alles werkt, zou u de volgende succespagina moeten zien:

Sluitend

Deze tutorial was bedoeld om de basisbeginselen van CakePHP te introduceren en hoe je het op je server kunt gebruiken. In toekomstige afleveringen zullen we kijken naar het ontwikkelen van een applicatie vanaf de basis met CakePHP, het toevoegen van effecten zoals AJAX en het integreren van CakePHP met andere bibliotheken en diensten zoals Facebook.

  • Abonneer u op de NETTUTS RSS-feed voor meer dagelijkse webontwikkelingen, tuts en artikelen.