php网站制作(2)-thinkphp3.2.1简单框架学习
来源:互联网 发布:51单片机p0口上拉电阻 编辑:程序博客网 时间:2024/05/29 07:37
结合thinkphp官网 3.1入门教程和3.2.1技术手册开始对thinkphp进行学习,thinkphp是mvc能够很好地分割各部分。
thinkphp的php执行代码大多是指控制器方法当中实现的,控制器方法可以没有对应的输出模板,如果有则输出模板会以html的形式与方法对应,数据库的操作是大多通过模型实现的。
1.修改项目路径(工作根目录)
thinkphp3.2.1默认工作根目录是/web/Applications
当用户访问http://localhost时会在该文件夹下自动生产相关的工程文件。
修改项目路径:在根目录下修改index.php
define('APP_PATH','./application/');
为
define('APP_PATH','./app/');
访问 http://localhost 自动生成相关文件
根目录下修改:
define('BIND_MODULE','Admin');
// 定义应用目录
define('APP_PATH','./App/');
2.在工作根目录文件夹下创建模块
在工作下新建文件夹Admin,并创建空白index.html 在根目录下index.php添加
//添加
define('BIND_MODULE','Admin');
// 定义应用目录
define('APP_PATH','./App/');
浏览器当中访问:http://localhost/index.php 便可以在admin模块当中自动生成所有的相关文件(类似于同一文件夹下的Home文件夹)
注意要在生成完所有之后注释掉define('BIND_MODULE','Admin');
3.thinkphp入口:
thinkphp 3.2.1只有一个默认的入口地址就是index控制器的index方法。
访问http://localhost等同于http://localhost/index.php/home/Index/index
4.thinkphp url
url路径:
http://serverName/index.php/模块/控制器/操作
模块Home (前台)
http://192.168.1.249/index.php/admin/Index/index
模块Admin: (后台)
http://192.168.1.249/index.php/Admin/Index/index
参数粗传递
http://192.168.1.249/index.php/home/Index/univpage/id/10002
thinkphp方法内可以使用U()函数创建URL U(控制器名/方法)
例如 myurl=U(Index/index)
5.视图view 模板
thinkphp3.2.1当中如果方法要对应着输出html 那么模板的位置在view文件夹下对应的控制器文件夹下的同名html文件夹。
通过$this->display ();启用模板;通过$this->aa = $bb;实现php到html的变量映射,在html 当中使用{$aa}接收。
例如
/web/App/Home/Controller/IndexController.class.php 里面的univpage()方法:
public function univpage($id) { $this->univ_id = $id;//变量映射$this->display ();//启用模板}对应的模板位置为/web/App/Home/View/Index/index.html
<html>...................<body>hello {$univ_id }</body></html>访问http://localhost/index.php/home/Index/univpage/id/10002 便可以输出id的值10002
6.模型model
模型的作用是用于数据库操作,可以方便简单的实现CURD,而且还可以实现自动获取表单,对提交表单进行自动验证等。
每个项目有一个连接的数据库配置文件,执行CURD命令时调用连接数据库。
每个项目的数据库连接配置都是在每个项目的/common/conf/config.php文件当中,如F:\web\App\Common\Conf\config.php,连接数据库是使用D和M时自动到config.php当中找到相关配置连接数据库。
'DB_DSN' => 'mysql://root:881234@192.168.1.249:3306/univinfo'例如进行一下实例化操作:
$Data = M('think_data'); // 实例化Data数据模型系统会自动使用/common/conf/config.php当中的数据库连接文件连接数据库,然后选择其中的think_data表。
当执行实例化对象create()函数时会自动获取表单传递过来的数据,
thinkphp提交表单:注意提交表单要,使用M()和D()时,一定要注意提交的表单的参数名要和数据库表当中的字段完全一致才能够执行自动匹配。
例如:
模板提交参数
<form action="__URL__/login_submit" method="get">Name: <input type="text" name="user_name" />Password: <input type="text" name="user_password" /><input type="submit" /></form>控制器内方法接收传递过来参数
public function register_submit() {// echo "register_submit()";$User = M ( 'univ_user_basic_info' ); // 实例化模型$User->create (); // 获取post提交过来的表单(注意可能只是post可以)echo $User->user_name;// dump($User); //展示数据库状况$User->add (); // 写入数据库echo "register success";}
- php网站制作(2)-thinkphp3.2.1简单框架学习
- php网站制作(3)-thinkphp3.2.1简单案例实现
- php网站制作(7)-php 学习摘记2
- php网站制作(6)-php 学习摘记
- 简单 PHP + MySQL 数据库动态网站制作
- thinkphp3.2框架分析
- 用PHP制作静态网站的模板框架
- 用PHP制作静态网站的模板框架
- 如何用PHP制作静态网站的模板框架
- 用PHP制作静态网站的模板框架
- 用PHP制作静态网站的模板框架(三)
- 用PHP制作静态网站的模板框架(四)
- 用PHP制作静态网站的模板框架(二)
- 用PHP制作静态网站的模板框架(一)
- 用PHP制作静态网站的模板框架
- 用PHP制作网站之框架页头部代码
- 用PHP制作网站之框架页左侧代码
- thinkphp3.2学习记录
- 【大话QT之八】模拟QQ系统设置面板实现功能
- OpenGL显示时钟
- 排序算法(七)基数排序
- C++中的内存对齐
- ORA-27100 shared memory realm already exists错误解决方法
- php网站制作(2)-thinkphp3.2.1简单框架学习
- [POJ][1017]Packets
- CCGLBufferedNode(作为CCGrid3D CCLayerColor CCProgressTimer CCSprite CCTexture2D的基类(提供渲染接口))
- 23种设计模式--2 结构型模式
- C#实现函数根据返回类型重载
- 乱码问题集锦
- asp.net mvc使用html对象创建控件
- CCAtlasNode(CCAtlasNode封装了一个CCTextureAtlas的变量,CCTextureAtlas初始化图片文件的时候会把图片加载到缓存(CCTextureCache)中:)
- poj1704 Georgia and Bob