>  기사  >  백엔드 개발  >  ThinkPHP5와 ThinkPHP3의 유사점과 차이점을 나열해 보세요.

ThinkPHP5와 ThinkPHP3의 유사점과 차이점을 나열해 보세요.

jacklove
jacklove원래의
2018-06-15 10:48:052642검색

관계자는 5를 사용하기 위해 3가지 생각을 사용하지 말라고 말했습니다. 이렇게 말하면 두 가지 공식 제품이며 버전 반복과 관련이 없습니다. 디렉토리 구조가 다르고 일부 함수 이름도 다릅니다. 기존 mvc 웹사이트라면 tp3.2를 사용하세요. 인터페이스를 만드는 경우 tp5를 사용하십시오. 전후의 가장 큰 차이점은 view 처리입니다.

모델 인스턴스화

TP5는 모델을 자동으로 인스턴스화하는 M 메서드를 취소하고 새로운 인스턴스화 모델 메서드를 사용합니다. 자동 인스턴스화가 없으면 사용자가 직접 새 모델 클래스를 생성하고 이를 인스턴스화해야 합니다. 이는 D 방법과 다소 유사합니다. D 메소드와 유사한 기능을 가진 모델 메소드가 있는데, 이는

U 메소드

로 완전히 대체될 수 있습니다. U 메소드는 TP에 경로를 생성하는 내장 메소드입니다. url 메소드를 완전히 사용할 수 있습니다.

TP5에서는 IS_GET 및 IS_POST 메소드가 취소되었습니다

계속 사용하려면 다음과 같이 프로젝트에서 맞춤설정할 수 있습니다.

 define('IS_GET',Request::instance()->isGet()); define('IS_POST',       Request::instance()->isPost());

기존 TP의 I 방식

이전 TP에서는 요청 매개변수를 수신하는 데 개별 I 방식을 사용했지만 현재는 입력 방식을 대신 사용할 수 있습니다

새로운 방식

현재 단일 새 방법은 저장 방법으로 변경되었습니다. 이는 이전 업데이트 방법이며 업데이트 방법도 다르다는 점에 유의하세요. 새로 추가하려면 바로 저장을 사용하고, 업데이트하려면 isUpdate(true)

를 추가해야 합니다.
model("")->isUpdate(true)->save($data);

TP5和原来版本TP差距最大的功能性的地方在返回,现在几乎所有的数据库查询都会返回对象

$menuurl->find($menu_id);//此方法返回一个对象,可以使用->toArray()方法转换为数组$this->where($condition)->order($order)->select();//此方法返回一个对象数组,所以要使用数据也必须转换,当然可以直接用对象

C方法被config方法替换

数据库配置单独在database.php中,想获取参数使用

config('database.prefix')

页面中目前有自定义常量的方法,使用配置的方法类似之前版本

<p style="text-indent: 0em; line-height: normal;"><span style="font-size: 16px;">如果需要全局替换的话,可以直接在配置文件中添加:'view_replace_str'  =>  [    '__PUBLIC__'=>'/public/',    '__ROOT__' => '/',<br>]<br>或者直接使用常量配置<br>{$Think.config.PUBLIC}</span></p>

默认的引擎标签可修改,也就是之前的a8093152e673feb7aba1828c43532094这种可以继续用

      // 模板引擎普通标签开始标记
       &#39;tpl_begin&#39;    => &#39;{&#39;,        // 模板引擎普通标签结束标记
       &#39;tpl_end&#39;      => &#39;}&#39;,        // 标签库标签开始标记
       &#39;taglib_begin&#39; => &#39;{&#39;,        // 标签库标签结束标记
       &#39;taglib_end&#39;   => &#39;}&#39;,

本文讲解了ThinkPHP5与ThinkPHP3的一些异同点,更多相关内容请关注php中文网。

相关推荐:

创建一个最简单的ThinkPhp项目工程

关于ThinkPHP的增、删、改、查 的一些总结

where方法的应用讲解

위 내용은 ThinkPHP5와 ThinkPHP3의 유사점과 차이점을 나열해 보세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.