当前位置: 首页 > news >正文

php 0613框架基础

php框架

框架就是一堆代码的集合,里边有变量、函数、类、常量,里边也有许多设计模式MVC、AR数据库、单例等等。
框架可以节省我们50-60%的工作量,我们全部精力都集中在业务层次

框架的优点
1、框架可以帮组我们快速、稳定、高效搭建程序系统
2、该系统由于框架的使用使得本身的维护性、灵活性、适应客户需求方面得到最大化的增强。
3、使用框架的过程中可以使得我们的注意力全部集中业务层面,而无需关心程序的底层架构

解压包解压出来的文件

解压出来的index.php是入口文件,一个项目里面的文件全要走这个页面

Application文件夹是放所有项目的
Public文件是放公有的东西
ThinkPHP是和新文件夹

ThinkPHP核心文件夹下 尽量不要修改
Common文件夹是核心函数库
Conf文件夹是放配置文件
lang文件夹是语言包
Library文件夹是核心资源库

Application文件夹下 //项目的文件夹
Common文件夹也是存放核心函数库
Runtime文件夹存放缓存文件
Home文件夹是项目里面的模块 //Application项目下面有一个模块叫home


Home文件夹下
Common文件夹是存放自己写的函数
Conf文件夹是放自己模块的配置文件 可以修改
MVC模式{
Controller文件夹是控制器
Model文件夹是模型
View文件夹是放显示模板
}


MVC
MVC: Model 模型 模型(数据)层 View 视图 视图层 Controller控制器 逻辑层

M:操作数据(数据连接,数据访问)
V:提供显示模板
C:实现业务逻辑

MVC:约定胜于配置

action:操作,放在控制器里面的方法


之前访问的方式:访问的具体页面
MVC访问的方式:访问控制器下的操作(方法),不是一个具体页面

MVC模式的四种访问方法
1.http://网址/index.php?m=XX&c=XX&a=XX 基本get模式
2.http://网址/index.php/模块/控制器/操作方法 路径模式pathinfo
3.http://网址/模块/控制器/操作方法 rewrite重写模式
4.http://网址/index.php?s=/模块/控制器/方法 兼容模式

 

 

define('APP_PATH',True) 开发调试模式 出错的时候提示非常详细
define('APP_PATH',false) 生产模式 错误提示很少


namespace命名空间

 

创建控制器的时候格式必须和以前的一样

'SHOW_PAGE_TRACE'=> true 显示trace信息

在控制器里面读取配置用 C();方法


前置操作
public function_before_xianshi()
{

}
后置操作
public function_after_xianshi()
{

}

 


var_dump(get_defined_constants());获取系统常量信息

_SELF_ 返回完整的路径
_MODULE_ 返回到模块
_CONTROLLER_获取到当前控制器
_ACTION_获取到当前操作方法

转载于:https://www.cnblogs.com/wcc731546227/p/5582845.html

相关文章:

  • debian手册摘要
  • jQuery EasyUI使用教程之添加节点到树形菜单
  • 万物有源_Appium框架原理浅析
  • PHPDoc/PHPDocumentor生成API文档
  • 面试必问Elasticsearch倒排索引原理
  • Linux screen 解决会话终止当前进程断开的问题
  • ArcSDE的版本管理机制
  • XDOC Office Server 开源了,Office文档完美转换为PDF
  • C++搜索与回溯算法之马走日(遍历问题)
  • 关于子类对象实例化是否会实例化父类对象的理解
  • QGis、Qt对话框上的OK、Open、Cancel、Help等英文翻译
  • Python 3.5.7 和 3.4.10 发布,3.4 分支的最后版本
  • 自学Linux命令的四种方法
  • oracle RAC的客户端HA配置
  • YUM软件仓库服务
  • Android 控件背景颜色处理
  • Apache Pulsar 2.1 重磅发布
  • CSS实用技巧
  • EOS是什么
  • extract-text-webpack-plugin用法
  • SpriteKit 技巧之添加背景图片
  • Vue2.x学习三:事件处理生命周期钩子
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 从伪并行的 Python 多线程说起
  • 翻译--Thinking in React
  • 解析带emoji和链接的聊天系统消息
  • 聊聊directory traversal attack
  • 前端技术周刊 2018-12-10:前端自动化测试
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (多级缓存)多级缓存
  • (二)Linux——Linux常用指令
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (附源码)ssm码农论坛 毕业设计 231126
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (论文阅读30/100)Convolutional Pose Machines
  • (七)理解angular中的module和injector,即依赖注入
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (一)基于IDEA的JAVA基础10
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • [2008][note]腔内级联拉曼发射的,二极管泵浦多频调Q laser——
  • [Django ]Django 的数据库操作
  • [Django开源学习 1]django-vue-admin
  • [Dxperience.8.*]报表预览控件PrintControl设置
  • [Flutter]WindowsPlatform上运行遇到的问题总结
  • [FxCop.设计规则]8. 也许参数类型应该是基类型
  • [IE编程] 如何编程清除IE缓存
  • [IE编程] 如何在IE8 下调试BHO控件/工具栏(调试Tab进程)