可能最近一段时间不会再写php。
首先,下载ThinkPhp下载之后,运行index.php
如果是,需要创建其他项目,也可以将其中的
两个文件单独拿出,再运行index.php,可以自动创建其他文件夹。
需要注意的是,如果单独拿出这两个文件,需要保证这两个文件在同一文件夹下。
MVC框架
- M代表model,与数据库相联系,处理数据相关逻辑
- V代表view,与前端页面相关,html。
- C代表controller,控制器,控制业务逻辑等相关操作。
Model
首先需要进行配置,
找到相关文件
找到配置文件之后,在配置文件中的数组中添加部分字段
<?php
return array(
//'配置项'=>'配置值'
'DB_TYPE' => 'mysql', // 数据库类型
'DB_HOST' => 'localhost', // 服务器地址
'DB_NAME' => '', // 数据库名
'DB_USER' => '', // 用户名
'DB_PWD' => '', // 密码
'DB_PORT' => '3306', // 端口
);
需要根据实际情况和你所使用的数据库,更改键值。
此时,要明白,你所要使用的表格和数据库中的表和model中的文件需要一一对应。
在model中创建文件需要注意几点:
- 文件名需要大写
- 文件名的格式:数据库所对应的表名Model.class.php
- 在文件中需要继承model
<?php
namespace Home\Model;
use Think\Model;
class RegesterModel extends Model{//Regester为数据库中的表名,不可随意更改。
//内容可以为空
}
?>
如果不想创建model,也可以使用M(‘表名’),以对应数据库中的表名。
view
view层为数据输出端,将后台控制器需要输出的数据进行输出。
在一个项目下,可以建立多个app,每个app都有自己对应的view层。
当controller渲染页面时,会自动到view下面查找app所对应的文件夹,在文件夹中查找所对应的函数的html。函数名需要和html文件名相同,此时才能找到目标文件并渲染。
如果view层想进行显示controller中的传递过来的数据,需要使用{}
例如:
{$content}
如果是一个数组形式的数据
{$content.fields}或
{$content['fields']}
controller
controller为控制器,将用户所对应的动作,进行解析,并执行下一个步骤。
控制器中的函数,每一个函数对应一个html。控制器中可以在数据库中查找所需要的数据,将数据发送到view层,如果需要有关数据库的操作,有两种方法:
$model=new \Home\Model\RegesterModel();//此方法,model文件夹下必须有相对应的表的文件
$model=M('regester');//也可以创建对象,并操作数据库
最后将查出的数据进行反馈
$this->assign('content',$content);//第一个参数为在html中的变量名,第二个参数为所传数据的变量名
$this->display();将页面进行调用显示。
如果在测试阶段,想运行controller中的某一个函数。
localhost/文件夹名/index.php/app名/函数所在文件的开头名称/函数名称
比如:localhost/tptest/index.php/home/index/index
注意:函数所在文件的开头名称为
所指向的前一部分,为index。