‘壹’ php的tp框架和mvc有啥区别
首先说Model吧。
在TP中是一个表对应一个Model,而且普通Model中只是一些自动验证啊,自动完成啊、还有数据字段信息啊一些东西;而CI中的Model则完全不同,一个Model不必约束于一个表,也就是说名字为abc的Model中你也可以查询名字为def的表中的数据,而且可以定义方法完成一些数据查询,比如我可以在名为articles_model的Model中定义一个名字为get_articles的方法来获取所有文章信息,当某个Controller加载了这个Model后,就可以在相应的Controller中用
1
$this->articles_model->get_articles();
来方便地获取所有文章信息,而对于TP来说,这些操作只能在Action类中完成。2.0版的TP已经把View、Relation和Adv三个高级查询model库类定为不自动加载了,看了一下手册,感觉除了View视图查询容易用一点,另外两个都不怎么好用,感觉用起来太复杂,还不如用原生的SQL查询。CI的Model还有一个使我很喜欢的方法就是dbprefix方法,在使用原生的sql查询时使用这个函数使得修改数据库表名前缀后你的代码不需要经过任何改动。在TP中我没有发现类似的函数,当我用TP开发一个博客系统时,发现关联查询很麻烦,于是想用原生的SQL查询,却没有找到自动增加数据库表名前缀的方法,虽然可以自己修改TP的核心库来实现,但是还是觉得这样有点不太好。真的要感谢TP,如果不是TP,也许我就不会去关注CI了,当我那天看了几页CI的英文文档后,立马就对它产生的深厚的兴趣,于是第二天一起床就开始看CI的手册,虽然是从官网下的英文版的,不过它的手册写得很简洁、很周到,边看边操作,看完手册后我就几乎能熟练使用这个框架了。于是用它开发了一个博客系统。
CI的Model类简单易用,TP的Model类功能相对来说要强大一些,但是用起来个人感觉没有那么方便。
其次,对于View,从功能上讲,TP的View要更加强大一些,选择更多一些,在TP中你可以选择就用PHP作模板引擎,可以就用TP自身的模板引擎,也可以选择用smarty等其它第三方模板引擎。而在CI中就只能用CI内置的功能简单的模板引擎或者用原生的PHP代码作模板,个人觉得用PHP作模板更好一些,一来省去了学习另外的模板引擎语法的麻烦,二来执行效率更高一些。因些从View来讲,选择CI或者是TP都无所谓。
再次是Controller了,在CI中的应用的控制器是继承自核心类Controller的,TP中的控制器则是继承于核心类Action。不过还是有不同的,在TP中,你可以把一些公共的变量或者在多个控制器中都要执行的东西放在一个action里,假如这个action文件为CommonAction.class.php ,在它的_initialize方法中可以执行一些在多个控制器中都要执行的代码或者初始化一些多个控制器都要使用的变量,这样,应用的其它action只要继承CommonAction 就可以实现了。因为框架在加载相应action时首先会自动加载那个CommonAction的。而在CI中就没有这个方便的功能了,但是也可以自己写一个library,在该library类的__construct方法里放一些代码,然后在每个控制器中都加载这个library,这样也可以实现像TP一样的功能。不过相对来说麻烦了一些。TP还有一点比较灵活的就是,在这个控制器(action)里面可以执行那个控制器中的函数(比如用A或者R函数来实现),在CI中则不行,你不能在这个控制器中执行那个控制器中的函数。还有就是TP可以定义一个名为EmptyAction的控制器,当所有控制器都找不到时,就调用这个Empty控制器。这一点如果与empty方法配合,可以使得URL大大缩减。虽然CI和TP都支持空操作,不过这二者的空操作名称不相同,实现的优先级也不相同。在TP中的空操作(_empty方法)优先级是最低的,也就是说当当前控制器的所有操作都找不到时才调用这个空操作;在CI中则恰恰相反,只要存在空操作(_remap方法),该控制器的其它的操作都没用了(不能访问了)。
‘贰’ phpstudy怎么运行tp框架
安装好phpstudy后,运行软件.
首先将 tp 的程序放到一个目录 web_thinkphp (可自定义)
打开phpStudy面版
右边有一个php版本,选择好tp所需要的版本(tp3.2先5.3~5.4即可,tp5可选 5.5+)
在 其它选项菜单 -> 打开hosts -> 添加一行域名
127.0.0.1tp.me
保存(如果没有修改权限,可以在桌面上建一个文件 hosts 加入上面一行代码后再覆盖到 hosts 所在的目录)
在 其它选项菜单 -> 站点域名管理 ->
域名:tp.me
路径: 指向web_thinkphp
第二域名:空
端口:80
[新增] -> 保存并生成配置文件
然后 浏览器中输入 tp.me 就运行 tp 了
‘叁’ php tp3.0框架里面的U方法怎么用
u方法是一个自定义数据模型后用来调取数据库表名的方法,你使用和M一样,区别就在于M只调用系统Model,而U是调用你定义的Model;;;
‘肆’ thinkphp模版怎么使用PHP函数
/*tp模板中两种常用写法*/
{参数1|函数=参数2,参数3}//适用模板函数和部分自封装函数(如date())
{:函数(参数1,参数2,参数3)}//适用所有php函数及tp函数(如tp助手函数:url())
‘伍’ phptp框架怎么使用
首先是搭建环境:
将解压后的文件放到你的站点下面。
访问一下localhost,在application文件夹下回自动生成home(前台)等文件夹,你复制一份,改成admin(后台)。
使用的话就是在admin与home文件下的concroller、model与view文件夹中创建对应文件。
数据库配置文件在home与admin下的conf文件中。
‘陆’ PHP 中TP5 Request 请求对象的实例详解
说实话,我最头疼看见很多文档似的解说。
上干货
一个简单请求的接口:
开头导入文件
use think\Request;
一个post的简单的请求:
public function test(){
$request=Request::instance();
$a=$request->post('a');
}
如果是get,param等,相应的把post改成这个就好。。
‘柒’ 请问这PHP的tp5是什么报错
database.php文件32行设置表前缀,然后可以使用函数助手db('Shoplist');实例化数据库
‘捌’ php tp3.0框架里面的U方法怎么用
U函数TP手册里面说的很详细啊:
U方法的定义规则如下(方括号内参数根据实际应用决定):
U('[分组/模块/操作]?参数' [,'参数','伪静态后缀','是否跳转','显示域名'])
如果不定义项目和模块的话 就表示当前项目和模块名称,
例子:
U('User/add') // 生成User模块的add操作的URL地址
U('Blog/read?id=1') // 生成Blog模块的read操作并且id为1的URL地址
U('Admin/User/select') // 生成Admin分组的User模块的select操作的URL地址
U方法的第二个参数支持数组和字符串两种定义方式,如果只是字符串方式的参数可以在第一个参数中定义,例如:
U('Blog/cate',array('cate_id'=>1,'status'=>1))
U('Blog/cate','cate_id=1&status=1')
U('Blog/cate?cate_id=1&status=1')
三种方式是等效的,都是 生成Blog模块的cate操作并且cate_id为1 status为1的URL地址
在 action里面 直接使用
如 $Url = U("User/add"); //就会 生成User模块的add操作的URL地址 赋值给 $Url ;
或者 在 html 页面写
<a href="{:U('User/add')}">User模块的add操作的URL地址</a>
‘玖’ php tp里面c方法怎么写配置
在Application/common/conf/config.php中设置了'name'=>''bj, 然后在控制器的方法中echo C('nsme')这样试试呢, 如果还有不明白的话,你可以在后盾人看看视频找找答案,有空多看看时间长了,慢慢就明白了,希望能帮到你,给个采纳吧谢谢我还要赶着去参加活动呢😊 (~㉨~)
‘拾’ php tp框架实现全站模糊查找。
请使用全文搜索引擎。