PHP是世界上最好的语言!!
老板要让去做php,身为资深专业android开发的我一开始真是一百个不愿意,因为久闻大名的php貌似很不受人接见。不过多学门语言,技多不压身,现在就撸起来。
由于后台使用的是ThinkPHP框架,所以还是先从框架下手。所幸ThinkPHP的文档还不错,先看完再来写总结。
ThinkPHP是一个快速、简单的基于MVC
和面向对象
的轻量级PHP开发框架。
文档过了一遍后,上手的确简单,MVC模型也很明朗,学习主要从MVC模型切入就可以了
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写 –百度百科
M(model)
ThinkPHP的模型实质就是数据库,最简单的用法如下,得到 $User
变量后便可以对数据库的表进行操作。
$User = M('User');
$UserList = $User->select();
$You = M('User')->where('name=yourname')->select();
其中数据库及表名前缀及连接数据库的参数已在配置文件中定义,也可手动指定这些信息。
$connection = array(
'db_type' => 'mysql',
'db_host' => '127.0.0.1',
'db_user' => 'root',
'db_pwd' => '12345',
'db_port' => 3306,
'db_name' => 'demo',
);
$User = M('User','think_',$connection);
$UserList = $User.select();
thinkphp还可以定义模型类,不过 模型类并非必须定义,只有当存在独立的业务逻辑或者属性的时候才需要定义。
初学先不深究,自定义模型类使用D()
引用,M()
引用的是系统定义好的模型类
V(view)
ThinkPHP的View主要实现是模板引擎,{$hello}
变量在controller中赋值,最后由controller渲染(编译)成页面。
ThinkPHP示例之Hello
{$hello}
C(controller)
ThinkPHP的控制器是一个类,而操作则是控制器类的一个公共方法。
按我的理解,controller主要的流程为 接受Event->更新Model->更新View
<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
public function hello(){
{ // 接受输入 参数合理性判断 }
$yourname = $_GET['name'];
{ // 数据操作 }
$You = M('User')->where('name=yourname')->select();
{ // 填充视图,渲染 }
$this->assign('hello','hello' + $You['name']);
$this->display();
}
}
接下来会通过项目来进一步了解PHP这玩意。。