Phalcon 模型
MVC 架构中的模型包括应用程序的逻辑,模型是与数据库交互的核心,它能够根据用户的请求来管理数据的增删改查。
为了理解 Phalcon PHP 框架中的模型交互,应该遵循以下步骤。
步骤1: 创建数据库:
在LAMP、WAMP、XAMPP等集成环境中,使用phpmyadmin可以非常容易地创建数据库。
以下是创建数据库的 SQL 语句。
create database <database-name>
步骤2: 在phpmyadmin中,单击顶部的“Databases”选项卡,写入数据库名称,然后进一步单击“创建”按钮,如下所示:
步骤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: 为了创建与我们在上述步骤中创建的 'Users' 表相关联的模型,打开命令提示符实例,重定向到适当的项目路径很重要。在此之前,请务必检查数据库配置是否已正确设置,如下面的屏幕截图所示。
步骤5: 在 Phalcon 框架中使用以下命令创建模型:
phalcon model <model-name>
以下是执行上述命令的输出:
这意味着模型已成功创建。
步骤6: 成功创建的模型存在于models文件夹中,使用以下路径查看模型的创建位置
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"; } }
然后在浏览器中访问地址 http://localhost/demo1/users ,输出如下所示: