ThinkPHP は、エンタープライズレベルのアプリケーション開発とアジャイルな WEB アプリケーション開発を簡素化するために生まれました。これは 2006 年初頭に初めて誕生し、2007 年の元旦に正式に ThinkPHP に名前変更され、Apache2 オープンソース契約に基づいてリリースされました。 ThinkPHP は、誕生以来、シンプルで実用的な設計原則を堅持しており、優れたパフォーマンスと最小限のコードを維持しながら、使いやすさにも重点を置いています。また、コミュニティ チームの積極的な参加により、使いやすさ、拡張性、パフォーマンスの点で継続的に最適化および改善されており、独自の機能が多数あります。
コース再生アドレス: http://www.php.cn/course/383.html
先生の教え方:
先生の講義はシンプルで奥深く、わかりやすいです論理的思考力を使用して生徒の注意を引き、理性を使用して教室での指導プロセスを制御することで、層ごとに連動し、厳密な議論と厳密な構造を組織化して分析します。指導スキルはウィットに富んでおり、さまざまな指導方法やテクニックが容易に利用でき、洗練された跡もなく自由かつ適切に使用できます。
このビデオのより難しい点は、グループ化、ページ ジャンプ、および Ajax です:
1. マルチアプリケーション構成スキル
2. グループ化の使用
$this->success('クエリは成功しました',U('ユーザー/テスト'));
$this->redirect('ユーザー/テスト','',5,'ページがジャンプしています');
4. Ajax スキル
前后台公用公共配置文件: $ pwd /cygdrive/c/wamp/www/thinkphp5/Admin/Conf Administrator@QCEE61NZ66FEX2D /cygdrive/c/wamp/www/thinkphp5/Admin/Conf $ ls config.php Administrator@QCEE61NZ66FEX2D /cygdrive/c/wamp/www/thinkphp5/Admin/Conf $ cat config.php <?php $arr=include './config.php'; $arr2=array( ); return array_merge($arr,$arr2); ?> // 当前目录下的config.php,这个当前是指主入口的路径: $arr=include './config.php'; 公用配置文件: $ pwd /cygdrive/c/wamp/www/thinkphp5 Administrator@QCEE61NZ66FEX2D /cygdrive/c/wamp/www/thinkphp5 $ ls -ltr config.php -rwxrwx---+ 1 Administrators None 393 五月 9 13:14 config.php Administrator@QCEE61NZ66FEX2D /cygdrive/c/wamp/www/thinkphp5 $ cat config.php <?php return array( //'配置项'=>'配置值' 'TMPL_L_DELIM'=>'<{', //配置左定界符 'TMPL_R_DELIM'=>'}>', //配置右定界符 'DB_PREFIX'=>'', //设置表前缀 'DB_DSN'=>'mysql://root:1234567@192.168.32.79:3306/devops', //DSN方式配置数据库信息 'SHOW_PAGE_TRACE'=>true,//开启页面Trace /* 'URL_ROUTER_ON'=>true, 'URL_ROUTE_RULES'=>array( ':id/:num'=>'Index/index', ), */ ); ?> Administrator@QCEE61NZ66FEX2D /cygdrive/c/wamp/www/thinkphp5 thinkphp 分组机制: <?php //1.确定应用名称 Home define('APP_NAME','App'); //2. 确定应用路径 ./Home 当前目录 index.php的当前目录 前台文件夹 define('APP_PATH','./App/'); //开启调试模式 define('APP_DEBUG',true); //4.引入核心文件 include 引入的东西错误 代码继续运行 require 出错立即结束 require './ThinkPHP/ThinkPHP.php'; ?> 'APP_GROUP_LIST' => 'Home,Admin', //项目分组设定 'DEFAULT_GROUP' => 'Home', //默认分组 在同一个应用下,再分不同的应用: $ pwd /cygdrive/c/wamp/www/thinkphp6/App/Lib/Action Administrator@QCEE61NZ66FEX2D /cygdrive/c/wamp/www/thinkphp6/App/Lib/Action $ ls Admin Home IndexAction.class.php 整个应用叫app应用: <?php //1.确定应用名称 Home define('APP_NAME','App'); //2. 确定应用路径 ./Home 当前目录 index.php的当前目录 前台文件夹 define('APP_PATH','./App/'); //开启调试模式 define('APP_DEBUG',true); //4.引入核心文件 include 引入的东西错误 代码继续运行 require 出错立即结束 require './ThinkPHP/ThinkPHP.php'; ?> 推荐使用分应用的方式,而不是分组 分应用情况下的访问方式,多应用配置技巧: $ pwd /cygdrive/c/wamp/www/thinkphp5 Administrator@QCEE61NZ66FEX2D /cygdrive/c/wamp/www/thinkphp5 $ ls Admin admin.php config.php Home index.php ThinkPHP Home前台应用文件夹: Admin后台应用文件夹: http://localhost/thinkphp5/admin.php http://localhost/thinkphp5/index.php //页面跳转: <?php // 本类由系统自动生成,仅供测试用途 class IndexAction extends Action { public function index(){ echo "come in Home!"; $user=M('user'); $arr=$user->select(); dump($arr); //分配给前台,表示为list $this->assign('list','$arr'); $this->display(); } } 前端页面: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <title>Document</title> </head> <body> <table border='1' width='500'> <foreach name='list' item='vo'> <tr><td><{$vo.username}></td></tr> </foreach> </table> </body> </html> //超链接: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <title>Document</title> </head> <body> <table border='1' width='500'> <foreach name='list' item='vo'> <tr><td><a href="__URL__/info?id=<{$vo.id}>"><{$vo.username}></a></td></tr> </foreach> </table> </body> </html> <?php // 本类由系统自动生成,仅供测试用途 class IndexAction extends Action { public function index(){ echo "come in Home!"; $user=M('user'); $arr=$user->select(); dump($arr); //分配给前台,表示为list $this->assign('list',$arr); $this->display(); } public function info(){ $id=$_GET['id']; $user=M('user'); $arr=$user->find($id); dump($arr); if ($arr){ $this->success('index'); } else { //失败后自动跳转到上一页 $this->error('查询失败'); } $this->assign('list',$arr); $this->display(); } } //redirect 跳转: <?php // 本类由系统自动生成,仅供测试用途 class IndexAction extends Action { public function index(){ echo "come in Home!"; $user=M('user'); $arr=$user->select(); dump($arr); //分配给前台,表示为list $this->assign('list',$arr); $this->display(); } public function info(){ $id=$_GET['id']; $user=M('user'); $arr=$user->find(100); dump($arr); if ($arr){ $this->success('index'); } else { //失败后自动跳转到上一页 $this->redirect('User/index'); } $this->assign('list',$arr); $this->display(); } } 跳转到: http://localhost/thinkphp5/index.php/User/index User/index 页面 Ajax 技巧: 在框架里面,脚本都是被方法所取代 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <title>Document</title> <script src="__PUBLIC__/Js/jquery.js"></script> <script> $(function(){ $('button').bind('click',function(){ $.get('__URL__/getAjax',function(jdata){ <!--alert (JSON.stringify(data));--> if (jdata.status==1){ alert(jdata.data); } }); }); }); </script> </head> <body> <div style='height:50px;background:yellow' id='did'></div> <button>点击</button> <script> document.write(new Date()); </script> </body> </html> <?php class IndexAction extends Action { public function index(){ $this->display(); } public function getAjax(){ //echo 'aaaaaaa'; $this->ajaxReturn('这里是数据','信息1',1); } }
以上がBand of Brothers の推奨リソース ThinkPHP3.1 基本ビデオ チュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。