Phalcon 模型


MVC 架构中的模型包括应用程序的逻辑,模型是与数据库交互的核心,它能够根据用户的请求来管理数据的增删改查。

为了理解 Phalcon PHP 框架中的模型交互,应该遵循以下步骤。

步骤1: 创建数据库:

LAMPWAMPXAMPP等集成环境中,使用phpmyadmin可以非常容易地创建数据库。

以下是创建数据库的 SQL 语句。

create database <database-name>

步骤2: 在phpmyadmin中,单击顶部的“Databases”选项卡,写入数据库名称,然后进一步单击“创建”按钮,如下所示:

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;

创建表后,其结构如下所示:

Table Created

步骤4: 为了创建与我们在上述步骤中创建的 'Users' 表相关联的模型,打开命令提示符实例,重定向到适当的项目路径很重要。在此之前,请务必检查数据库配置是否已正确设置,如下面的屏幕截图所示。

users

步骤5: 在 Phalcon 框架中使用以下命令创建模型:

phalcon model <model-name>

以下是执行上述命令的输出:

Result

这意味着模型已成功创建。

步骤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>

成功执行上述命令后,输出如下:

Sucessful Execution

以下是UserController.php的代码:

<?php  

class UsersController extends \Phalcon\Mvc\Controller { 
    public function indexAction() {
        echo "Users Controller has been called";
    }
}

然后在浏览器中访问地址 http://localhost/demo1/users  ,输出如下所示:

demo1 Window