Модель в архитектуре MVC включает логику приложения. Модель является ядром взаимодействия с базой данных. Он должен иметь возможность управлять обновлением, удалением, вставкой и извлечением записей в соответствии с запросом пользователя.
Для понимания взаимодействия модели в среде Phalcon PHP необходимо выполнить следующие шаги.
Шаг 1 — Создание базы данных.
Для любого программного стека LAMP, WAMP, XAMPP довольно просто создать базу данных с помощью инструмента базы данных phpmyadmin .
Ниже приведен SQL-запрос для создания базы данных.
create database <database-name>
Шаг 2 — В разделе phpmyadmin перейдите на вкладку Базы данных, укажите имя базы данных и нажмите кнопку «Создать», как показано на следующем снимке экрана.
Шаг 3 — После успешного создания базы данных создайте таблицу, которая поможет ее объединению для создания модели в платформе Phalcon.
Используйте следующий запрос для создания новой таблицы с именем «users».
DROP TABLE IF EXISTS `users`; CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(25), `emailid` varchar(50), `contactNumber` number PRIMARY KEY (`id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8;
После создания таблицы ее структура выглядит так, как показано на следующем снимке экрана.
Шаг 4 — Чтобы создать модель, связанную с таблицей «Пользователи», которую мы создали на предыдущем шаге, откройте экземпляр командной строки. Важно перенаправить на соответствующий путь проекта. Перед этим важно проверить, правильно ли настроена конфигурация базы данных, как показано на следующем снимке экрана.
Шаг 5 — Используйте следующую команду для создания любой модели в платформе Phalcon.
phalcon model <model-name>
Ниже приведены результаты выполнения вышеуказанной команды.
Это означает, что модель была успешно создана.
Шаг 6 — Модель, созданная успешно, присутствует в папке моделей. Используйте следующий путь, чтобы посмотреть, где создается модель.
C:\xampp\htdocs\demo1\app\models
Ниже приведен полный код для Users.php .
<?php class Users extends \Phalcon\Mvc\Model { /** * * @var integer * @Primary * @Identity * @Column(type = "integer", length = 11, nullable = false) */ public $id; /** * * @var string * @Column(type = "string", length = 25, nullable = true) */ public $name; /** * * @var string * @Column(type = "string", length = 50, nullable = true) */ public $emailid; /** * * @var integer * @Column(type = "integer", length = 11, nullable = true) */ public $contactNumber; /** * Returns table name mapped in the model. * * @return string */ public function getSource() { return 'users'; } /** * Allows to query a set of records that match the specified conditions * * @param mixed $parameters * @return Users[] */ public static function find($parameters = null) { return parent::find($parameters); } /** * Allows to query the first record that match the specified conditions * * @param mixed $parameters * @return Users */ public static function findFirst($parameters = null) { return parent::findFirst($parameters); } }
Шаг 7 — Контроллер взаимодействует с моделью и представлением, чтобы получить необходимый вывод. Как и в модели, используйте следующий командный терминал для создания контроллера.
Phalcon controller <controller-name>
При успешном выполнении вышеупомянутой команды следующий вывод.
Ниже приведен код для UserController.php .
<?php class UsersController extends \Phalcon\Mvc\Controller { public function indexAction() { echo "Users Controller has been called"; } }
Вывод будет отображаться, если мы нажмем следующий URL — http: // localhost / demo1 / users