Поиск…


замечания

В этом разделе представлен обзор того, что такое cakephp, и почему разработчик может захотеть его использовать.

Следует также упомянуть о любых крупных предметах в рамках cakephp и ссылаться на связанные темы. Поскольку Documentation for cakephp является новым, вам может потребоваться создать начальные версии этих связанных тем.

Версии

Версия Дата выхода
1.2.0 2008-12-26
1.3.0 2010-04-25
2.0.0 2011-10-17
3.0.0 2015-03-22

Установка или настройка

Требования

Следующее руководство по установке предназначено для cakephp 2.8 и выше. Все версии cakephp ниже 2.8 не совместимы с php 7

HTTP-сервер. Например: Apache. Наличие mod_rewrite является предпочтительным, но отнюдь не обязательным.

  • PHP 5.5.9 или больше (включая PHP 7).
  • Расширение PHP mbstring
  • встроенное расширение PHP

Внимание! Как в XAMPP, так и в WAMP, расширение mbstring работает по умолчанию. В XAMPP включено расширение intl, но вы должны раскомментировать расширение php_intl.dll в php.ini и перезапустить сервер через панель управления XAMPP. В WAMP расширение по умолчанию «активировано» по умолчанию, но не работает. Чтобы заставить его работать, вы должны пойти в папку php (по умолчанию) C: \ wamp \ bin \ php \ php {version}, скопировать все файлы, которые выглядят как icu * .dll, и вставить их в каталог apache bin C: \ WAMP \ Bin \ Apache \ апача {версия} \ Bin. Затем перезапустите все службы, и все будет в порядке.

Хотя механизм базы данных не требуется, мы предполагаем, что большинство приложений будут использовать его. CakePHP поддерживает различные механизмы хранения базы данных:

  • MySQL (5.1.10 или выше)
  • PostgreSQL
  • Microsoft SQL Server (2008 или выше)
  • SQLite 3

Структура папок CakePHP3

После того, как вы скачали, это файлы и папки, которые вы должны увидеть:

  • В папке bin хранятся исполняемые файлы консоли Cake.
  • В папке конфигурации хранятся файлы конфигурации, используемые CakePHP. Здесь должны храниться сведения о соединении с базой данных, начальной загрузке, основных конфигурационных файлах и т. Д.
  • В папке плагинов хранятся плагины, которые использует ваше приложение.
  • Обычно папка журналов содержит ваши файлы журналов, в зависимости от конфигурации журнала.
  • В папке src будут размещены файлы вашего приложения.
  • В папке с тестами вы найдете тестовые примеры для своего приложения.
  • Папка tmp - это где CakePHP хранит временные данные. Фактические данные, которые он хранит, зависят от того, как вы настроили CakePHP, но эта папка обычно используется для хранения описаний моделей, а иногда и для информации о сеансе.
  • В папке поставщика устанавливаются зависимости CakePHP и других приложений. Сделайте личное обязательство не редактировать файлы в этой папке.
  • Каталог webroot является открытым корнем документа вашего приложения. Он содержит все файлы, которые вы хотите публично достигать.

Убедитесь, что существуют папки tmp и logs и доступны для записи, в противном случае производительность вашего приложения сильно пострадает. В режиме отладки CakePHP предупредит вас, если это не так.

Внутри папки src

В папке src CakePHP вы найдете большую часть своей разработки приложений.

Консольная папка содержит консольные команды и консольные задачи для вашего приложения. Дополнительные сведения см. В разделе «Корпуса, задачи и инструменты консоли».

Папка контроллера содержит контроллеры вашего приложения и их компоненты.

Папка Locale хранит строковые файлы для интернационализации.

Папка Model содержит таблицы, сущности и поведение вашего приложения.

View - здесь представлены классы презентаций: ячейки, помощники и файлы шаблонов.

Шаблон - презентационные файлы размещаются здесь: элементы, страницы ошибок, макеты и файлы шаблонов просмотра.

Основной первый пустой проект

Начальное создание и загрузка (CakePHP 3.x)

Самый простой способ создать новый проект CakePHP - через Composer (если вы не знаете о композиторе, посмотрите здесь для получения дополнительной информации)

Установить композитор

Если вам нужно установить его и запустить на компьютере с Windows, следуйте этому руководству

Если вы находитесь в Linux / Unix / OSX, следуйте этому руководству

Создайте первый проект CakePHP

Откройте окно консоли и перейдите к установке php (в Windows с установкой xampp по умолчанию это C:\xampp\php )

Чтобы создать пустой проект, выполните следующую команду:

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

Выпечка / Model / View / Контроллеры

Магия CakePHP - выпечка - автоматическое создание контроллера, модели и кода вида с базовыми вариантами CRUD.

Перед выпечкой необходимо настроить соединение с базой данных. Для этого вам нужно отредактировать файл config/app.php в своем проекте.

'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,
]

],

Если ваша база данных подключена правильно, вы затем bin/cake bake в корневой папке вашего проекта в окне консоли.

Это должно вывести что-то вроде этого:

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.

Для простоты мы собираемся испечь все с настройками по умолчанию. Для этого вы вводите

cake bake all

Это будет выводить что-то в этом направлении:

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.

Путем запуска cake bake all <modelNameYouWantToBake> модель, таблица, контроллер, файлы крепления и файлы просмотра. Запустите это для каждого возможного имени модели, и у вас есть действующий проект с базовыми параметрами CRUD.

Теперь вы можете открыть браузер и посмотреть, как он выглядит и начать расширять проект по вашей собственной логике

Требования

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

Обычно я делаю установку apache и mysql на linuxbox. Я тоже могу использовать окна, но я не рекомендую это;) Итак, я обычно делаю новую запись в файле / etc / hosts, чтобы сделать sitename доступным для cakephp.

127.0.0.1   localhost caketest.local

следующий шаг для копирования всех файлов cakephp в подкаталог внутри / home / myusername / public_html / caketest

app
cake
index.php
plugins
README
vendors
.htaccess

то я настроил сайт на apache (не обязательно),

<VirtualHost *: 80> DocumentRoot "/ home / myusername / public_html / caketest" Имя_сервера caketest.local
# Это должно быть опущено в производственной среде SetEnv APPLICATION_ENV development

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

перезапустите apache. вам также необходимо отредактировать файлы .htaccess и поместить директиву RewriteBase с помощью пути hte к фактическому каталогу, например

 RewriteBase /~myusername/caketest

создать базу данных, установить соединение db в файлах конфигурации торта, и все. вы можете указать свой браузер на http: //caketest.local, если вам не нужен URL-адрес тестового сайта, вы можете пропустить хосты и создание Apache-vhost, но URL-адрес должен быть http: / localhost / ~ myusername / caketest

еще одна важная вещь - включить userdir modul в apache, а также проверить, разрешено ли использование php в userdirs.

CakePHP 2.x Основные сведения

Будет говорить о структуре каталогов CakePHP, что означает каждая папка.

CakePHP имеет несколько основных папок

  1. app - It Содержит наш исходный код приложения, весь наш код находится под этим каталогом.
  2. lib - Это освободительное ядро ​​cakephp, оно содержит весь базовый код библиотеки cakephp. Редактирование кода внутри этого каталога не предлагается, поскольку они могут вызвать ошибку при обновлении библиотеки cakephp.
  3. plugins - содержит код плагинов cakephp, который будет использоваться для нашего приложения.
  4. vendors - содержит внешний код, этот код не будет использовать библиотеку cakephp.
  5. index.php - это индексный файл.

У нас может быть несколько приложений, размещенных внутри одного проекта. т.е. они могут использовать те же папки lib, plugin и vendors.

Чтобы изменить код lib, лучше всего расширить их в нашей папке приложения и выполнить изменения.

Папки плагинов и вендоров разделяются всеми приложениями, размещенными в том же каталоге.

index.php - это файл, который вызывается первым.

введите описание изображения здесь

Теперь мы должны перейти в нашу папку приложений



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow