第一天,安装和部署
- 什么是ThinkPHP?
ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架```
1.1 查看php版本的多种方法
①命令行查询:php -v(version)
②使用预定义常量PHP_VERSION查询:<?php echo PHP_VERION;?>
③使用phpversion()函数查询: <?php echo phpversion();?>
④使用phpinfo()函数查询:<?php echo phpinfo();?>
- ThinkPHP的组织方式?
thinkphp应用基于MVC的方式来组织
- 什么是MVC?
MVC是一个设计模式,由三个核心组成Model-模型,View-视图,controller-控制器
3.1 MVC的各层功能
Model 是应用程序中处理应用程序数据逻辑的部分
View 是应用程序中处理数据显示的部分
Controller 是应用程序中处理用户交互的部分
3.2 MVC的优缺点
优点:
代码更加清晰,适合于二次开发或者持续的迭代开发
适合与多人开发
用这种结构开发项目的底层和代码更加安全
缺点:
代码结构更加复杂,执行效率偏低》解决办法:增加缓存
大型项目比较适合使用,而小项目降低了效率》解决办法:小项目不使用MVC结构
- 什么是框架?
本身不一定完整但可以结局特定问题、可以扩展
- 什么是二层框架?
例如smarty,将逻辑代码与内容分离
- 什么是三层框架?
例如MVC,分为模型模块-视图模块-控制模块三种结构
- 入口文件的访问方式?
单一入口,无论完成什么功能都要通过入口文件访问,统一但不唯一
- 访问模式
pathinfo的访问模式,http://项目地址/入口文件/模块名/控制器名/参数名/参数/参数2/参数2...静态后缀
- 模块化设计思想?
让代码更清晰、更容易重用。默认划分为前台模块和后台模块
- 什么是命名空间?
起个别名,作用是在项目空间中避免重名
- 命名空间的创立?
namespace app\文件名\controller;
- 控制器的定义
采用大驼峰法(首字母大写),遇到下一个单词首字母继续大学,其他小写
相同一类的业务都放在一个控制器中
根据业务逻辑起别名
类名与控制器名一致
控制器的类文件名与类名一致
- 命名空间的要求
tp人为要求命名空间的起名规则与路径相同
- application下控制器下的Index为什么要大写?
遵循开发规范-类文件采用大驼峰(首字母大写)命名、其他采用小驼峰
- echo与return的区别?
return 直接将值返回出来,并停止程序。echo直接显示程序还可以直接执行容易出错。
- php面向对象和面向过程的区别
面向过程就是你把代码封装成子过程或函数(procedure),然后依次去做一件事情;
面向对象就是你把要做的事情抽象成对象,然后告诉具体的那一个对象去做。
面向对象三大特性(封装,继承,多态)使得在做复杂的事情的时候效率和正确率得到保证。
17.
18.虚拟域名
为了安全,让用户只能访问public文件夹
项目部署到其他位置时不出问题
服务器的内容与本地环境一模一样
19.控制器
控制器名:根据业务流程起名(见明知意)
控制器的类:类名与控制器名一致,首字母大写,采用大驼峰式命名
20.common.php
应用公共文件使用函数的方法
common.php
User.php
21.大写转小写+下划线
首字母转小写,后面的大写字母转小写并在前面加下划线
视图层的文件夹名根据控制器名来建立
视图层的模板文件名根据相应控制器的方法来建立
栗子:
地址栏
http://tp18.com/index.php/GoodsInfo/showMsg 模板文件不存在:D:../public/../application/index\view\goods_info\show_msg.html
常见的框架:
- think PHP
- zend framework
- codelgniter-杭州城市常用
- yll framework
- laravel
- cakephp
关于访问问题
正常模式:域名/控制器入口/文件名/函数名
域名省略方法: