cakephp Tutorial
Empezando con cakephp
Buscar..
Observaciones
Esta sección proporciona una descripción general de qué es cakephp y por qué un desarrollador puede querer usarlo.
También debe mencionar cualquier tema importante dentro de cakephp y vincular a los temas relacionados. Dado que la Documentación para cakephp es nueva, es posible que deba crear versiones iniciales de esos temas relacionados.
Versiones
| Versión | Fecha de lanzamiento |
|---|---|
| 1.2.0 | 2008-12-26 |
| 1.3.0 | 2010-04-25 |
| 2.0.0 | 2011-10-17 |
| 3.0.0 | 2015-03-22 |
Instalación o configuración
Requerimientos
La siguiente guía de configuración es para cakephp 2.8 y superior. Todas las versiones de cakephp inferiores a 2.8 no son compatibles con php 7
Servidor HTTP. Por ejemplo: Apache. Tener mod_rewrite es preferido, pero de ninguna manera es requerido.
- PHP 5.5.9 o superior (incluyendo PHP 7).
- extensión PHP mbstring
- extensión PHP intl
¡Atención! Tanto en XAMPP como en WAMP, la extensión mbstring funciona de manera predeterminada. En XAMPP, se incluye la extensión intl, pero debe descomentar la extensión = php_intl.dll en php.ini y reiniciar el servidor a través del Panel de control de XAMPP. En WAMP, la extensión intl está "activada" por defecto pero no funciona. Para que funcione, debe ir a la carpeta php (por defecto) C: \ wamp \ bin \ php \ php {versión}, copie todos los archivos que parecen icu * .dll y péguelos en el directorio de apache bin C: \ wamp \ bin \ apache \ apache {version} \ bin. Luego reinicie todos los servicios y debería estar bien.
Si bien no se requiere un motor de base de datos, imaginamos que la mayoría de las aplicaciones utilizarán una. CakePHP soporta una variedad de motores de almacenamiento de base de datos:
- MySQL (5.1.10 o mayor)
- PostgreSQL
- Microsoft SQL Server (2008 o superior)
- SQLite 3
Estructura de la carpeta CakePHP3
Después de que hayas descargado, estos son los archivos y carpetas que deberías ver:
- La carpeta bin contiene los ejecutables de la consola Cake.
- La carpeta de configuración contiene los archivos de configuración que utiliza CakePHP. Los detalles de la conexión de la base de datos, los programas de arranque, los archivos de configuración del núcleo y más deben almacenarse aquí.
- La carpeta de complementos es donde se almacenan los complementos que utiliza su aplicación.
- La carpeta de registros normalmente contiene sus archivos de registro, dependiendo de su configuración de registro.
- La carpeta src será donde se colocarán los archivos de su aplicación.
- La carpeta de pruebas será donde coloques los casos de prueba para tu aplicación.
- La carpeta tmp es donde CakePHP almacena datos temporales. Los datos reales que almacena dependen de cómo haya configurado CakePHP, pero esta carpeta generalmente se usa para almacenar descripciones de modelos y, a veces, información de sesión.
- La carpeta del proveedor es donde se instalarán CakePHP y otras dependencias de la aplicación. Haga un compromiso personal de no editar archivos en esta carpeta.
- El directorio webroot es la raíz de documentos públicos de su aplicación. Contiene todos los archivos que desea que sean accesibles públicamente.
Asegúrese de que las carpetas tmp y logs existan y puedan escribirse, de lo contrario, el rendimiento de su aplicación se verá gravemente afectado. En el modo de depuración, CakePHP le avisará, si no es el caso.
Dentro de la carpeta src
La carpeta src de CakePHP es donde realizará la mayor parte del desarrollo de su aplicación.
La carpeta de la consola contiene los comandos de la consola y las tareas de la consola para su aplicación. Para obtener más información, consulte Shells, tareas y herramientas de consola.
La carpeta Controlador contiene los controladores de su aplicación y sus componentes.
La carpeta local almacena los archivos de cadena para la internacionalización.
La carpeta modelo contiene las tablas, entidades y comportamientos de su aplicación.
Vista : aquí se ubican las clases de presentación: celdas, ayudantes y archivos de plantilla.
Plantilla : aquí se colocan los archivos de presentación: elementos, páginas de error, diseños y archivos de plantillas de vista.
Básico primer proyecto vacío
Creación inicial y descarga (CakePHP 3.x)
La forma más fácil de crear un nuevo proyecto de CakePHP es a través de Composer (si no conoce el compositor, consulte aquí para obtener más información)
Instalar compositor
Si necesita instalarlo y está en una máquina Windows, siga esta guía.
Si está en Linux / Unix / OSX siga esta guía
Crea el primer proyecto CakePHP
Abra una ventana de la consola y navegue a su instalación de php (en Windows con la instalación predeterminada de xampp, esta es C:\xampp\php )
Para crear un proyecto vacío, ejecute el siguiente comando:
php composer.phar create-project --prefer-dist cakephp/app name_of_your_project
Hornear / Modelo / Ver / Controladores
La magia de CakePHP es hornear: una generación automatizada de controlador, modelo y código de vista con opciones básicas de CRUD.
Antes de hornear necesita tener su conexión de base de datos configurada. Para hacer esto necesita editar el archivo config/app.php en su proyecto.
'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,
]
]
Si su base de datos está conectada correctamente, ingrese bin/cake bake en la carpeta raíz de su proyecto en una ventana de consola.
Esto debería dar salida a algo como esto:
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.
Para simplificar, vamos a hornear todo con la configuración predeterminada. Para ello entras
cake bake all
Esto producirá algo en ese sentido:
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.
Al ejecutar cake bake all <modelNameYouWantToBake> el modelo, la tabla, el controlador, el dispositivo y los archivos de vista. Ejecute esto para cada nombre de modelo posible y tiene un Proyecto en funcionamiento con opciones básicas de CRUD.
Ahora puede abrir su navegador y ver cómo se ve y comenzar a extender el proyecto con su propia lógica.
Requerimientos
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
Normalmente hago una instalación de apache y mysql en un linuxbox. También puedo usar Windows, pero no lo recomiendo;) Por lo tanto, normalmente hago una nueva entrada en el archivo / etc / hosts para hacer que un nombre de sitio esté disponible para cakephp.
127.0.0.1 localhost caketest.local
próximo paso para copiar todos los archivos cakephp en un subdirectorio dentro de / home / myusername / public_html / caketest
app
cake
index.php
plugins
README
vendors
.htaccess
luego configuro el sitio para apache (no es necesario),
<VirtualHost *: 80> DocumentRoot "/ home / myusername / public_html / caketest" ServerName caketest.local
# Esto debería omitirse en el entorno de producción. Desarrollo de APLICACIÓN_ENV de SetEnv
<Directory "/home/myusername/public_html/caketest">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
reiniciar apache. también necesita editar los archivos .htaccess y colocar una directiva RewriteBase con una ruta hte al directorio real, por ejemplo
RewriteBase /~myusername/caketest
crear una base de datos, establecer la conexión db en los archivos de configuración de pastel y eso es todo. puede apuntar su navegador a http: //caketest.local si no desea una url del sitio de prueba, puede omitir hosts y crear apache vhost, pero la url a usar debe ser http: / localhost / ~ myusername / caketest
otra cosa importante es habilitar userdir modul en apache, y también verificar si el uso de php está habilitado en userdirs también.
CakePHP 2.x Introducción Básica
Hablaremos sobre la estructura de directorios de CakePHP, lo que significa cada carpeta.
CakePHP tiene algunas carpetas principales
- aplicación: contiene nuestro código fuente de la aplicación, todo nuestro código se encuentra en este directorio.
- lib - Este es el núcleo de cakephp liberario, contiene todo el código de la biblioteca cakephp base El código de edición dentro de este directorio no se sugiere, ya que pueden causar errores al actualizar la biblioteca cakephp.
- complementos: contiene el código de complementos de cakephp que se utilizará para nuestra aplicación.
- proveedores: esto contiene código externo. Este código no utilizará la biblioteca cakephp.
- index.php - Este es el archivo de índice.
Podemos tener múltiples aplicaciones alojadas dentro de un solo proyecto. es decir, pueden usar las mismas carpetas lib, plugin y proveedores.
Para modificar el código lib, la mejor práctica es extenderlos en nuestra carpeta de aplicaciones y realizar las modificaciones.
Todas las aplicaciones alojadas en el mismo directorio comparten carpetas de complementos y proveedores.
index.php es el archivo que se llama primero.
