Sök…


Anmärkningar

Det här avsnittet ger en översikt över vad cakephp är och varför en utvecklare kanske vill använda den.

Det bör också nämna alla stora ämnen inom cakephp och länka till relaterade ämnen. Eftersom dokumentationen för cakephp är ny kan du behöva skapa initialversioner av relaterade ämnen.

versioner

Version Utgivningsdatum
1.2.0 2008-12-26
1.3.0 2010-04-25
2.0.0 2011-10-17
3.0.0 2015/03/22

Installation eller installation

Krav

Följande installationsguide är för cakephp 2.8 och högre. Alla cakephp-versioner lägre än 2.8 är inte kompatibla med php 7

HTTP-server. Till exempel: Apache. Att ha mod_rewrite föredras, men krävs inte på något sätt.

  • PHP 5.5.9 eller högre (inklusive PHP 7).
  • mbstring PHP förlängning
  • intl PHP förlängning

Uppmärksamhet! I både XAMPP och WAMP fungerar mbstringförlängningen som standard. I XAMPP ingår intl-förlängning, men du måste avveckla tillägg = php_intl.dll i php.ini och starta om servern via XAMPP-kontrollpanelen. I WAMP är intl-tillägget "aktiverat" som standard men fungerar inte. För att det ska fungera måste du gå till php-mappen (som standard) C: \ wamp \ bin \ php \ php {version}, kopiera alla filer som ser ut som icu * .dll och klistra in dem i katalogen för apache bin C: \ wamp \ bin \ apache \ apache {version} \ bin. Starta sedan om alla tjänster och det borde vara OK.

Även om det inte krävs en databasmotor, föreställer vi oss att de flesta applikationer kommer att använda en. CakePHP stöder olika databaslagringsmotorer:

  • MySQL (5.1.10 eller högre)
  • PostgreSQL
  • Microsoft SQL Server (2008 eller högre)
  • SQLite 3

CakePHP3-mappstruktur

När du har laddat ner är det dessa filer och mappar som du borde se:

  • Bin-mappen innehåller kaka-konsolens körbara filer.
  • Konfigurationsmappen innehåller de konfigurationsfiler som CakePHP använder. Databasanslutningsinformation, bootstrapping, kärnkonfigurationsfiler och mer bör lagras här.
  • Mappen plugins är där Plugins programmet använder lagras.
  • Loggmappen innehåller normalt dina loggfiler, beroende på din loggkonfiguration.
  • Mappen src kommer att vara där programmets filer kommer att placeras.
  • Testmappen kommer att vara där du placerar testfall för din ansökan.
  • Mappen tmp är där CakePHP lagrar tillfälliga data. De faktiska uppgifterna som lagras beror på hur du har CakePHP konfigurerat, men den här mappen används vanligtvis för att lagra modellbeskrivningar och ibland sessioninformation.
  • Leverantörsmappen är där CakePHP och andra applikationsberoende kommer att installeras. Gör ett personligt åtagande att inte redigera filer i den här mappen.
  • Webroot-katalogen är den offentliga dokumentroten till din ansökan. Den innehåller alla filer som du vill vara offentligt tillgängliga.

Se till att mapparna tmp och loggar finns och är skrivbara, annars kommer prestandan för din applikation att påverkas hårt. I felsökningsläge varnar CakePHP dig om det inte är fallet.

Inuti src-mappen

CakePHPs src-mapp är där du kommer att göra det mesta av din applikationsutveckling.

Console mappen innehåller konsolen kommandon och konsol uppgifter för din ansökan. Mer information finns i Shells, Tasks & Console Tools.

Controller- mappen innehåller programmets styrenheter och deras komponenter.

Lokal mapp lagrar strängfiler för internationalisering.

Modell mapp innehåller programmets tabeller, enheter och beteenden.

Visa - presentationsklasser placeras här: celler, hjälpare och mallfiler.

Mall - presentationsfiler placeras här: element, felsidor, layouter och visa mallfiler.

Grundläggande första tomma projekt

Initial skapelse och nedladdning (CakePHP 3.x)

Det enklaste sättet att skapa ett nytt CakePHP-projekt är via Composer (om du inte vet om kompositör, titta här för mer info)

Installera kompositör

Följ den här guiden om du behöver installera den och finns på en Windows-maskin

Följ den här guiden om du är på Linux / Unix / OSX

Skapa det första CakePHP-projektet

Öppna ett konsolfönster och navigera till din installation av php (på Windows med standard xampp-installationen är detta C:\xampp\php )

För att skapa ett tomt projekt kör du följande kommando:

php composer.phar create-project --prefer-dist cakephp/app name_of_your_project

Bakning / modell / View / Controllers

CakePHPs magi är bakning - en automatiserad generation av controller, modell och visningskod med grundläggande CRUD-alternativ.

Innan du bakar måste du ha din databasanslutning konfigurerad. För att göra detta måste du redigera config/app.php i ditt projekt.

'Datasources' => [
'default' => [
    'className' => 'Cake\Database\Connection',
    'driver' => 'Cake\Database\Driver\Mysql',
    'persistent' => false,
    'host' => 'localhost',
    'username' => 'my_app', //in basic xampp: root
    'password' => 'sekret', //in basic xampp: ''
    'database' => 'my_app', //name of the database you want to connect to your project
    'encoding' => 'utf8',
    'timezone' => 'UTC',
    'cacheMetadata' => true,
]

],

Om din databas är korrekt ansluten skriver du sedan in bin/cake bake i rotmappen för ditt projekt i ett konsolfönster.

Detta bör mata ut något liknande:

Welcome to CakePHP v3.1.6 Console
---------------------------------------------------------------
App : src
Path: /var/www/cakephp.dev/src/
PHP: 5.5.8
---------------------------------------------------------------
The following commands can be used to generate skeleton code for your application.

Available bake commands:

- all
- behavior
- cell
- component
- controller
- fixture
- form
- helper
- mailer
- migration
- migration_snapshot
- model
- plugin
- shell
- shell-helper
- template
- test

By using `cake bake [name]` you can invoke a specific bake task.

För enkelhets skull kommer vi att baka allt med standardinställningarna. För att göra detta anger du

cake bake all

Detta kommer att mata ut något längs dessa linjer:

Welcome to CakePHP v3.2.11 Console
---------------------------------------------------------------
App : src
Path: C:\xampp\htdocs\tipping\src\
PHP : 5.6.15
---------------------------------------------------------------
Bake All
---------------------------------------------------------------
Possible model names based on your database:
- users
- blogs
Run `cake bake all [name]` to generate skeleton files.

Genom att köra cake bake all <modelNameYouWantToBake> modeller, tabeller, kontroller, fixturer och visningsfiler skapas. Kör detta för alla möjliga modellnamn och du har ett fungerande projekt med grundläggande CRUD-alternativ.

Nu kan du öppna din webbläsare och se hur det ser ut och börja utöka projektet med din egen logik

Krav

1-HTTP Server. For example: Apache. Having mod_rewrite is preferred, but by no means required.
2-PHP 5.5.9 or greater (including PHP 7)
3-mbstring PHP extens ion
4-intl PHP extension

Jag brukar göra en apache och mysql installation på en linuxbox. Jag kan också använda windows, men jag rekommenderar det inte;) Så jag brukar göra en ny post i filen / etc / hosts för att göra ett namnnamn tillgängligt för cakephp.

127.0.0.1   localhost caketest.local

nästa steg för att kopiera alla cakephp-filer till en underkatalog inom / home / myusname / public_html / caketest

app
cake
index.php
plugins
README
vendors
.htaccess

sedan ställer jag in sajten för att apache (inte nödvändig),

<VirtualHost *: 80> DocumentRoot "/ home / myusername / public_html / caketest" Servernamn caketest.local
# Detta bör utelämnas i produktionsmiljön SetEnv APPLICATION_ENV-utveckling

<Directory "/home/myusername/public_html/caketest">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

starta om apache. du måste också redigera .htaccess-filerna och placera ett RewriteBase-direktiv med hte-väg till själva katalogen, t.ex.

 RewriteBase /~myusername/caketest

skapa en databas, ange db-anslutningen i tårtkonfigurationsfiler och det är allt. du kan peka din webbläsare till http: //caketest.local om du inte vill ha en testwebbadress kan du hoppa över värdar och skapa apache vhost, men webbadressen som ska användas bör vara http: / localhost / ~ myusname / caketest

en annan viktig sak är att aktivera userdir-modul i apache, och även kontrollera om användning av php är aktiverad i userdirs också.

CakePHP 2.x grundläggande introduktion

Kommer att prata om katalogstrukturen för CakePHP, vad varje mapp betyder.

CakePHP har några huvudmappar

  1. app - Den innehåller vår applikationskällkod, all vår kod ligger under den här katalogen.
  2. lib - Det här är cakephp-kärnens frigörare, den innehåller all bas-cakephp-bibliotekskod. Redigeringskod i katalogen föreslås inte eftersom de kan orsaka fel vid uppgradering av cakephp-biblioteket.
  3. plugins - Detta innehåller cakephp-plugins-koden som kommer att användas för vår applikation.
  4. leverantörer - Detta innehåller extern kod. Denna kod kommer inte att använda cakephp-biblioteket.
  5. index.php - Detta är indexfilen.

Vi kan ha flera applikationer värd i ett enda projekt. dvs de kan använda samma lib-mappar, plugin och leverantörer.

För att ändra lib-koden är bästa praxis att utöka dem i vår appmapp och utföra ändringarna.

Plugins och leverantörsmapp delas av alla applikationer som är värd i samma katalog.

index.php är filen som kallas först.

ange bildbeskrivning här

Nu ska vi hoppa till vår appmapp



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow