Ricerca…


Osservazioni

Questa sezione fornisce una panoramica di cosa sia CakePHP-3.0 e perché uno sviluppatore potrebbe volerlo utilizzare.

Dovrebbe anche menzionare qualsiasi argomento di grandi dimensioni all'interno di cakephp-3.0 e collegarsi agli argomenti correlati. Poiché la documentazione di cakephp-3.0 è nuova, potrebbe essere necessario creare versioni iniziali di tali argomenti correlati.

Installazione Cakephp 3.X

Requisiti:

  • PHP 5.6.0 o versione successiva dell'estensione PHP mbstring (l'impostazione predefinita funziona in WAMP / XAMPP, in caso contrario abilitarlo)
  • estensione PHP intl (disponibile in WAMP / XAMPP, devi abilitarlo
    da php.ini)
  • CakePHP verrà eseguito su una varietà di server Web come nginx,
  • LightHTTPD o Microsoft IIS.

Prima di iniziare dovresti assicurarti che la tua versione di PHP sia aggiornata:

php -v

Usa Composer per installare Cakephp 3 Framework,

Il Composer è ufficialmente un metodo supportato per l'installazione, quindi scarica compositore su, Composer (Windows / Linux / Mac)

Esegui questa operazione per installare cakephp,

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

Una volta che Composer ha terminato il download dello scheletro dell'applicazione e della libreria core CakePHP, è necessario installare un'applicazione CakePHP funzionante tramite Composer. Assicurati di mantenere i file composer.json e composer.lock con il resto del codice sorgente.

Oppure segui questo modo più semplice per installare cakephp

Segui i passaggi qui sotto,

  1. vai a questo repository Git
  2. Scarica la tortaDC / forno per una facile installazione
  3. Estrai il file zip all'interno di LOCALHOST
  4. Dare 777 autorizzazioni a quella cartella
  5. Esegui il file oven.php (disponibile all'interno della cartella)
  6. Si aprirà una pagina con molte opzioni, scegliere l'opzione secondo le proprie preferenze
  7. Clicca sull'immagine e siediti. Il tuo progetto verrà installato tra un paio di minuti

eseguire:

bin/cake server

Per impostazione predefinita, senza argomenti forniti, questo servirà la tua applicazione su http: // localhost: 8765 / .

spara al tuo browser, http://example.com/ o http: // localhost: 8765 / . A questo punto, ti verrà presentata la casa predefinita di CakePHP e un messaggio che ti informa sullo stato della tua connessione al database corrente e sei pronto per la tua prima applicazione.

Per ulteriori dettagli su Installazione e configurazione, seguire l'installazione di Cakephp 3.X.

Impostazione del progetto

All'inizio, dovresti creare un database con mysql , phpMyAdmin , HeidiSQL o un altro strumento per lavorare con il Database e consentire all'utente di crearne uno nuovo.

Dopo tale procedura, è necessario fornire l'accesso al database per il progetto.

Devi andare in /path/to/your/project/config/app.php , quindi cerca il default Datasources . In quell'array, è necessario cambiare localhost (su richiesta), user , password e database .

o sul browser e sulla pagina di aggiornamento. Il problema del DB dovrebbe sparire e mostrare il Green Tick sul lato sinistro.

Fatto! Il tuo primo progetto è stato creato!

Costruisci prima "Hello World!" applicazione con CakePHP 3.x (Introduzione Parte 1)

CakePHP 3.x ha la capacità di bake controllers , i models , le views e altri oggetti definiti dal framework.

Nota : se hai avuto esperienza con il framework di Laravel , il componente artisan è simile a bake .

L'applicazione di bake si trova nella cartella bin ; i seguenti sono alcuni dei comandi disponibili:

  • bin/cake bake shell %shellName% - per cuocere ShellClass
  • bin/cake bake controller %controllerName% - per cuocere Controller Class
  • bin/cake bake model %modelName% - per cuocere Model + Entity Class
  • bin/cake bake view %viewName% - to bake Visualizza modello
  • bin/cake bake all %className% - per cuocere Controller, Modello + Entità, Visualizza per sviluppatore.

Nota : non sarà possibile bake model se non ci sono tabelle nel database

Nota : se si bake all componenti, si ottengono i Controllers con azioni CRUD predefinite.

Costruisci prima "Hello World!" applicazione con CakePHP 3.x (Migrazioni delle tabelle di database. Parte 2)

Puoi facilmente create tabelle per il tuo database o drop se vuoi. Se desideri farlo, dovresti imparare come scrivere le Migrations per il database desiderato.

I file di migrazione devono trovarsi nella cartella config/Migrations . I nomi dei file possono essere nei seguenti formati:

  • YYYYMMDDHHIISS_(Create|Alter|Delete)AdministratorsTable.php
  • (1-9){1,}_(Create|Alter|Delete)AdministratorsTable.php
<?php
use Migrations\AbstractMigration;
use Cake\Log\Log;

/**
 * Class AdministratorsTableMigration
 */
class AdministratorsTableMigration extends AbstractMigration
{

    /**
     * @var string
     */
    private $_tableName;

    /**
     * @var string
     */
    private $_tablePrefix;

    public function init()
    {
        $this->_tableName = '"Administrators"';
        $this->_tablePrefix = 'administrators';
    }

    public function up()
    {
        Log::info("Trying to create {$this->_tableName} table");

        $administratorsTable = $this->table($this->_tablePrefix);

        if ($administratorsTable->exists()) {
            return Log::warning("Table {$this->_tableName} already exists");
        }

        $administratorsTable
            ->addPrimaryKey('id')
            ->addColumn('username', 'char', [
                'length' => 25,
                'null' => false
            ])
            ->addColumn('password', 'char', [
                'length' => 255,
                'null' => false
            ])
            ->addColumn('email', 'char', [
                'length' => 50,
                'null' => false
            ])
            ->addColumn('first_name', 'char', [
                'length' => 50,
                'null' => false
            ])
            ->addColumn('last_name', 'char', [
                'length' => 50,
                'null' => false
            ])
            ->addColumn('avatar', 'char', [
                'length' => 255,
                'default' => '/img/no-avatar.png'
            ])
            ->addColumn('active', 'boolean', [
                'default' => 0
            ])
            ->addTimestamps()
            ->create();

        return Log::notice("Table {$this->_tableName} has been created");
    }

    public function down()
    {
        if ($this->table($this->_tablePrefix)->exists()) {
            $this->table($this->_tablePrefix)->drop();
            return Log::info("Table {$this->_tableName} has been dropped");
        }

        return Log::warning("Table {$this->_tableName} does not exists");
    }

}

Se si desidera eseguire la migrazione, è necessario eseguire il comando successivo:

bin/cake migrations migrate per creare table (-s).

Se si desidera eseguire il rollback:

bin/cake migrations rollback - ripristinerà l'ultima migrazione, dove esiste la funzione drop()

bin/cake migrations (-t|--target) all - ripristinerà tutte le migrazioni, dove esiste la funzione drop()

Costruisci prima "Hello World!" applicazione con CakePHP 3.x (Controller, Risposta, Vista. Parte 3)

Vuoi creare un controller? Ci sono 2 modi per crearlo:

  • Manualmente (sarai costretto a creare manualmente il file Controller in src/Controller )
  • Baked (Comando bin/cake bake controller %controllerName% da CLI)

Se vuoi crearlo manualmente, vai alla cartella src/Controller e crea il file che segue il seguente modello:

([AZ]{1}[az]{1,})Controller.php

In quel controller, dovresti definire namspace , che verrà usato:

<?php
    namespace App\Controller;

Quindi dovresti nominarlo come nome file, es. AdminiController:

use App\Controller\AppController;

class AdminController extends AppController{}

All'interno di questa classe, dovresti creare il tuo primo metodo, es. login :

public function login(){}

Se si digiterà nel browser: http://{{project-name}}/admin/login verrà generato un errore del modello mancante. Come risolvere questo problema?

È necessario creare sotto il file src/Template/Admin/ login.ctp .

Nota : * .ctp carattere jolly - è un file modello di torta, che viene utilizzato per passare / eseguire il rendering dei dati che si imposta tramite il controller.

In quel file digita semplicemente "Hello World!" dove vuoi, aggiorna la pagina con errore del modello e otterrai il tuo World , che ti saluta!

Nota : per impostazione predefinita, src/Template/Layout/default.ctp viene visualizzato come layout, se non ne è stato definito uno

Installazione di CakePHP 3.4 su CentOS 7 con PHP 7 e SELinux abilitato

Questo è quello che ho fatto per installare CakePHP su un CentOS 7 appena installato

  • Installato un CentOS-7-x86_64-Minimal-1611.iso in VirtualBox, due interfacce di rete: primo NAT, secondo solo host
  • imposta ONBOOT = sì in / etc / sysconfig / network-scripts / ifcfg-enp0s3
  • riavvio
  • aggiornamento yum
  • yum install net-tools (per ottenere ifconfig e netstat)
  • yum installa wget
  • yum install yum-utils
  • wget -q http://rpms.remirepo.net/enterprise/remi-release-7.rpm
  • wget -q https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
  • rpm -Uvh remi-release-7.rpm epel-release-latest-7.noarch.rpm
  • yum-config-manager --enable remi-php71
  • yum installa php
  • systemctl abilita httpd
  • systemctl avvia httpd
  • firewall-cmd --permanent --zone = public --add-service = http
  • firewall-cmd --permanent --zone = public --add-service = https
  • firewall-cmd --reload
  • yum install httpd mariadb-server mariadb php phpmyadmin
  • systemctl start mariadb
  • systemctl abilita mariadb
  • systemctl restart httpd
  • Installa php-mbstring php-intl
  • mysql_secure_installation
  • curl -s https://getcomposer.org/installer | php
  • cd / var / www / html /
  • php composer.phar create-project --prefer-dist cakephp / app MyApp
  • chop apache: -R MyApp /
  • Crea database:
# mysql -u root -p
Enter password:

mysql> CREATE DATABASE mydb;
mysql> GRANT ALL ON mydb.* to 'myuser'@'localhost' IDENTIFIED BY '_password_';
mysql> FLUSH PRIVILEGES;
mysql> quit
  • Crea il file /etc/httpd/conf.d/my_app.conf con il contenuto:
<VirtualHost *:80>
    ServerAdmin root@localhost
    ServerName cakephp.myapp.net
    DocumentRoot /var/www/html/MyApp
    <Directory /var/www/html/MyApp>
      Allowoverride All
    </Directory>
</VirtualHost>
  • cd / var / www / html / secure_logging; chcon -Rv --type = httpd_user_content_rw_t tmp

  • tocca /.autorelabel; riavvio

  • Sul mio host modifico / etc / hosts e inserisco la riga (192.168.56.101 è l'indirizzo IP host-only della mia VM) 192.168.56.101 cakephp.myapp.net



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow