首页 > 作文

用 Composer构建自己的 PHP 框架之使用 ORM

更新时间:2023-04-06 20:46:36 阅读: 评论:0

回顾

经过前三篇文章 基础准备 、 构建路由 和 设计 mvc ,我们已经得到了一个结构比较完整的 mvc 架构的 php 微框架,但是距离一个真正能够上手使用的框架还差一样东西: 数据库封装 ,本篇就将讲述如何集成一个 orm compor 包 。

本篇是本系列最后一篇,接下来我可能会以 让我们开了又开的 compor 包 为系列标题分享一些体验和感悟,将主要发表在本站上。

正文

我们选择 laravel 的 illuminate/databa 作为我们的 orm 包。我试用了几个著名的 orm,发现还是 laravel 的 eloquent 好用!让我们开心的 orm,开了又开! :-d

在本系列教程里,每一个 compor乳液 包都要满足以下基本要求:

原生依赖 compor 进行管理
在好用的基础上尽量简单(比如我们那个超简单的路由包)
尽量新,用上 php 的新特性

说到 php 的新特性,有句题外话。 php5.3 引入了命名空间,这是规划在 php6 中的功能,所以 php5.3 在一定程度上其实就是 php6 ,php 的下一个版本是 php7 ,即将发布,主要贡献者是大名鼎鼎的 鸟哥 @laruence 。另外本台前方记者(就是我)刚刚从微博发来报道,鸟哥正在放大招,制造传说中 php7 on jit ,我大 php小手牵大手作文 的历史车轮是无法阻挡的哈哈哈!:-p

安装 illuminate/databa

给 compor.json 增加一个 require 项:

“illuminate/databa”: “*”
运行 compor update ,等待安装完成。

使用 eloquent

修改 public/index.php 为:

复制代码 代码如下:

<?php

u illuminate\databa\capsule\manager as capsule;

// autoload 自动载入

require ‘../vendor/autoload.php’;

// eloq潍坊职业学校uent orm

$capsule = new capsule;

$capsule->addconnection(require ‘../config/databa.php’);

$capsule->booteloquent();

// 路由配置

require ‘../config/routes.php’;

新增 config/databa.php (注意替换数据库密码):

复制代码 代码如下:

<?php

return [

‘driver’ => ‘mysql’,

‘host’ => ‘localhost’,

‘databa’ => ‘mffc’,

‘urname’ => ‘root’,

‘password’ => ‘password’,

‘chart’ => ‘utf8’,

‘collation’ => ‘utf8_general_ci’,

‘prefix’ => ”

];

修改 models/article.php :

复制代码 代码如下:

<?php

/**

* article model

*/

class article extends illuminate\databa\eloquent\model

{

public $timestamps = fal;

}

controllers/homecontroller.php 无需改动。

刷新,页面依旧:

恭喜你!eloquent 使用成功!

eloquent 更多用法

eloquent 异常强大 ,可以说是 laravel 中 最特别 、 最有价值 的部分。
像 homecontroller 中调用的 article::first() ,之前用了十几行代码,现在什么都不用干,继承一个类就行了。

eloquent 更多用法参见:eloquent orm 中文文档

其他著名 orm

还有很多著名的 orm 和 datamapping(数据库迁移等) 包,参见: orm and datama人口与计划生育法pping

orm 能够大幅提高提高开发效率,eloquent 真乃神器也!
虽然 web 届各语言阵营都在不断推出新的所谓 快速开发框架 ,终归还是越来越像 rails 。eloquent 在表面上几乎是最像 rails 的 orm 的了,但是跟 rails 不能比啊,ruby 的超强面向对象特性可不是盖的。laravel 作者 taylor otwell 接受采访时曾表示,eloquent 是整个 laravel 中最难实现的部分。我在调试的时候也发现, mffc/vendor/illuminate/databa/illuminate/databa甘肃省党代会/eloquent/model.php 这个文件有 3000 多行……

目前建造一个丰满的可以上手使用的 php 框架的工作就算是基本完成了,接下来我会继续完善 mffc 框架,让她更加丰富、好用!

以后可能会有 模板引擎、表单验证、发送邮件、权限体系管理、异步队列、视频音频处理(乱入:-d) 等内容,敬请关注还未出世的 让我们开了又开的 compor 包 系列文章。

谢谢大家的阅读和陪伴!再见!

本文发布于:2023-04-06 20:46:34,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/9f950a266135e74b7534a56947d7d2f5.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:用 Composer构建自己的 PHP 框架之使用 ORM.doc

本文 PDF 下载地址:用 Composer构建自己的 PHP 框架之使用 ORM.pdf

标签:代码   框架   让我们   开了
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图