企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 创建模型 模型是处理数据的地方,在XPHP中,附带了一个样例模型: ```php <?php /** * IndexModel.php * A Demo of Model * */ namespace Model\Home; use X\Model; class IndexModel extends Model{ public function get($a){ return $this->ORM->where("name",$a)->findOne()->value; } } ``` MySQL表: ```SQL -- Adminer 4.3.1 MySQL dump SET NAMES utf8; SET time_zone = '+00:00'; SET foreign_key_checks = 0; SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'; CREATE DATABASE `xphp` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; USE `xphp`; DROP TABLE IF EXISTS `test`; CREATE TABLE `test` ( `id` int(200) NOT NULL AUTO_INCREMENT, `name` varchar(200) COLLATE utf8_unicode_ci NOT NULL, `value` text COLLATE utf8_unicode_ci, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; INSERT INTO `test` (`id`, `name`, `value`) VALUES (1, 'time', '21sqse2sswqw12s'), (2, 'hi', 'hi,too!'), (3, 'anything', 'something is better'); -- 2017-08-09 04:59:24 ``` 可以看到,这个模型十分简单,只实现了一个get方法。 在get中,它返回了`$this->ORM->where("name",$a)->findOne()->value`的值。 讲解一下,`$this->ORM`是按照配置文件中的配置连接数据库,选择Controller中制定的表后的Idiorm实例。调用`where`方法,在表中查找名为`name`的一项,`findOne()`取其中的一个,最后获取他的值。 ## 在Controller调用 您可以查看附带的`Controller\Home\IndexController`中的`Wow`方法: ```php public function Wow($var){ $Model = $this->Model("IndexModel",array("test")); $var['ORMDB_Result'] = $Model->get('hi'); return $this->Json($var); } ``` 首先,使用`$this->Model("模型名称",array("数据库表名称"))`实例化一个新的Model。 然后,通过调用 `$Model->get("name的值")`来获取一条`value`值(get方法在上面分析过了)。 接着,把这个值放到路由参数数组的`ORMDB_Result`中,随着路由参数数组一起以Json格式输出。 ## 完成! 好了,到此为止,您已经熟练掌握一个MVC兼容MVVM框架的日常使用了! 如果还想深入,那么可以继续阅读,不继续,也没事,您已经可以使用XPHP写一个大项目了!