thinkphp 分组】的更多相关文章

本节课大纲: 一.多应用配置技巧 二.使用分组 三.页面跳转 $this->success('查询成功',U('User/test')); $this->redirect('User/test','',5,'页面正在跳'); 四.Ajax技巧 前后台公用公共配置文件: $ pwd /cygdrive/c/wamp/www/thinkphp5/Admin/Conf Administrator@QCEE61NZ66FEX2D /cygdrive/c/wamp/www/thinkphp5/Admin…
分组 配置项: // 开启分组 'APP_GROUP_LIST'=>'Home,Admin', // 默认分组 'DEFAULT_GROUP'=>'Home', 涉及分组: 配置文件分组,控制器分组,模板文件分组,方法分组. 在原有目录下,新建两个文件夹即可(Home,Admin)…
一.多应用配置技巧    在主入口文件index.php同级目录,新建一个 config.php 写入公共的配置项,然后在前后台各自的配置文件config.php中    $arr = include "./config.php";    $arr2 = array(        //自己的配置项    );    return array_merge($arr,$arr2);二.使用分组    看手册三.页面跳转    $this->success('查询成功',U('Use…
php中变量的声明, 和变量的初始化 是结合在一起的, 要声明变量, 就是通过初始化变量来实现的. 感觉页面版式的布局, 还是: 先大致规划出布局, 如两栏 三栏, 一览的左右上下结合, 搭配. 然后,再考虑放值内容. 在设计版式的时候, 不必考虑内容. ps只是做一些图片大小尺寸等方面的剪切, 一般不自己做图 网站的颜色开始不用过于管, 随意就行, 后来再协商改. 是上标, 是下标. 图片的title和alt属性的区别? title是标题, 鼠标指向时会出现 "工具栏提示"的就是ti…
/** * ThinkPHP version 3.1.3 */ ThinkPHP ( 官方网站:http://www.thinkphp.cn/ ) 目前最新版本是 3.2.2,它要求 PHP 的版本高于 5.3.0,由于我的 WAMPServer 集成的 PHP 版本是 5.2.6,所以下载了低一版本的 ThinkPHP ( 3.1.3 ) 来学习. 下载的 ThinkPHP 的框架包解压后的结构是: ├─ThinkPHP.php 框架入口文件 ├─Common 框架公共文件 ├─Conf 框架…
1.Import(路径+类名,基础路径): 平时导入类时有三种基础路径:Think:import('Think.core.Action');Think表示ThinkPHP/Lib基础路径,完整路径为ThinkPHP/Lib/core/Action.class.php ORG,COM基础路径为ThinkPHP/Extend/Library/ORG/和ThinkPHP/Extend/Library/Com路径. 第二个参数,直接指定基础路径Import('Class.Image',APP_PATH)…
1.项目分组之后,后台模板的公用文件一般放置在Tpl/Admin/Public中,这样子在替换模板路径时候如果还用__PUBLIC__时为了不与前台冲突,应该在Admin/config.php中配置一下模板替换规则, TMPL_PARSE_STRING =>array( '__PUBLIC__'=>__ROOT__.'/'.APP_NAME.'/'.'Tpl/Admin/Public', ), 这样子在后台分组中替换__PUBLIC__就是设置后的路径,与前台区别开. 2.$.post(url…
配置文件: <?php return array( //独立分组 'APP_GROUP_LIST' => 'Home,Admin', //分组列表 'APP_GROUP_MODE' => 1, //开启分组 'APP_GROUP_PATH' => 'Modules', //分组名称 'DEFAULT_GROUP' => 'Home', //默认分组 ); www:网站根目录 App:项目文件夹 Common:项目中模块共有的函数文件夹,Home,Admin等公共使用. Con…
原文:Thinkphp入门 二 -空操作.空模块.模块分组.前置操作.后置操作.跨模块调用(46) [空操作处理] 看下列图: 实际情况:我们的User控制器没有hello()这个方法 一个对象去访问这个类不存在的方法,那么它会去访问”魔术方法__call()” 用户访问一个不存在的操作—>解决:给每个控制器都定义个_empty()方法来处理 第二个解决方法:定义一个空操作 [空模块处理] 我们使用一个类,但是现在这个类还没有被include进来. 我们可以通过自动加载机制处理__autoloa…
原文:ThinkPHP使用分组详细介绍(十七) 使用分组(模块分组) *就是将多个项目合并到一个项目/应用去(就是Home.Admin) ---分组不分组看自己的建立项目习惯,个人习惯用根目录配置生成前后台项目方式, ---因为分组方式,要控制啊配置啊等文件都要对应建立自己的文件目录,麻烦 步骤一:配置文件生成对应项目 ├─App              --由于入口文件配置生成 App 项目/应用 ├─ThinkPHP    --核心入口文件 ├─index.php   - -入口配置文件…
真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳定的运行阶段 项目停止运行(旧项目的人员已经全部离职,新人开发新项目) 问题: 1. 多人开发项目,分工不合理,(html   php   mysql) 2. 代码风格不一样,后期维护十分困难 3. 项目生命周期十分短,项目生命没有延续性,造成资源浪费.人员浪费 4. 项目不能很好适应客户需求,牵一…
关于ThinkPHP的独立分组,功能看上去挺好的,可是官方并没有给出详细的例子和说明,在此,根据实际的开发过程,给予各位php开发人员以下几点说明: 1.独立分组的目录结构 和官方说明一样,建立Modules文件夹,配置config. 注意:独立分组的action直接放在action目录下,不需要lib目录,这点细微的差别坑了我一天. 2.独立分组之间的相互调用 如果你建立了一个独立分组专门处理数据的增删改查,其他分组的方法调用这个分组的增删改查方法时候,你会发现许多奇迹,比如各种不存在的提示,…
详见tp官网. 此处为笔记: <?php return array( // 0,为普通分组,1为独立分组 ', // 独立分组目录 'APP_GROUP_PATH' => 'Modules' ) ?> 注意:独立分组里的Common文件夹下的函数文件命名不能是Common.php可以是functions.php等…
1.关联模型的使用 定义方式:新建一个类文件UserRelationModel.class.php Class UserRelationModel extends RelationModel{ protected $tableName = 'user';//主表名称 protected $_link = array( 'article'=>array(//从表名称 'mapping_type'=>HAS_MANY,//主表对于从表的关系 主表可以有很多从表内容 'foreign_key'=&g…
1.Action类中的_initialize()函数,先于任何自定义操作函数运行,可认为是控制器的前置操作.可用于检测用户是否登录等检测. 如果多个模块(Action)需要相同_initialize(),可以先定义一个CommonAction extends Action类,然后其他类继承CommonAction类. 2.SESSION销毁:session_unset();session_destory(); 3.//分组列表    'APP_GROUP_LIST'=>'Index,Admin'…
1.F(文件名称,写入数据,写入地址),用于将数据写入至磁盘文件中,如F('Data',$arr,'./Data/'),作用是将$arr写入至网站根目录的Data文件夹中的Data.php中. 2.读取数据文件内容F(文件名称,'',地址),可以将文件中数据读入. 3.删除数据文件F(文件名称,null,地址). 4.项目分组: ①入口文件和普通项目一样 ②在Conf/config.php中配置项目分组 APP_GROUP_LIST => Admin,Home,User...... //定义分组…
跟踪日志: 做配置 ‘SHOW_PAGE_TRACE’ => true 默认分组: 做配置 ‘MODULE_ALLOW_LIST’ => array(‘Home’,’Admin’)…
'APP_GROUP_LIST'=>'Index,Admin', //逗号后面别跟空格啊,真是逗…
ThinkPHP模型基础类提供的连贯操作方法(也有些框架称之为链式操作),可以有效的提高数据存取的代码清晰度和开发效率,并且支持所有的CURD操作. 使用也比较简单, 假如我们现在要查询一个User表的满足状态为1的前10条记录,并希望按照用户的创建时间排序 ,代码如下: $User->where('status=1')->order('create_time')->limit(10)->select(); 这里的where.order和limit方法就被称之为连贯操作方法,除了s…
什么是命名空间?从广义上来说,命名空间是一种封装事物的方法.在很多地方都可以见到这种抽象概念.例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了命名空间的角色.具体举个例子,文件 foo.txt 可以同时在目录/home/greg 和 /home/other 中存在,但在同一个目录中不能存在两个 foo.txt 文件.另外,在目录 /home/greg 外访问 foo.txt 文件时,我们必须将目录名以及目录分隔符放在文件名之前得到 /home/greg/foo.txt.…
U方法用于完成对URL地址的组装,特点在于可以自动根据当前的URL模式和设置生成对应的URL地址,格式为:U('地址','参数','伪静态','是否跳转','显示域名');在模板中使用U方法而不是固定写死URL地址的好处在于,一旦你的环境变化或者参数设置改变,你不需要更改模板中的任何代码.在模板中的调用格式需要采用 {:U('地址', '参数'…)} 的方式 基本用法 U方法的用法示例: U('User/add') // 生成User模块的add操作地址 复制代码 也可以支持分组调用: U('H…
什么是框架 框架就是一定结构的代码,框架提供一个开发web程序的基础架构以及常用的功能 代码,PHP框架的web程序开发拜倒了流水线上. php框架就是一定要按别人规定好的架构编写. php开发框架有助于促进快速软件开发,有助于创建更为稳定的程序,并减少编写量. 你必须要使用定义的代码,编写代码. 而使用到thinkPHP里的方法都要继承一个基础控制器 ThinkPHP是一个快速.兼容而简单的轻量级国产PHP开发框架,是面向对象的开发结构和MVC模式.作为一个整体解决应用开发中的大量多数需求,因…
总的来说,要使在thinkphp框架下面HTML导入的图片.css文件和js文件有效,只有两种方法:(1)使用绝对路径:(2)在项目目录下创建新目录Public,把所有的img文件夹.js文件夹和css文件夹放在里面,同时把原有的HTML中的导入路径前面统一加上"__PUBLIC__/子目录/",比如如果在Public目录下又建了新的子目录hello,假如我们把原来的img文件夹放在hello目录下面,则在HTML中的图片导入路径应从"img/xxx.jpg"改为&…
URL_PATHINFO_DEPR, depr表示 网页路径"分隔符",用"-", 有利于seo,注意是从 sername/index.php(开始的)/home-user-login-var-value开始的,pathinfo也支持普通的参数传值(仅仅支持参数...). 在thinkphp中,有两个地方使用depr,另一个就是tpl的文件目录组织分隔符: 'TMPL_FILE_DEPR'=>'-' URL_PATHINFO: 意思是路径信息,意思是 网页的u…
M方法和D方法的区别 ThinkPHP 中M方法和D方法都用于实例化一个模型类,M方法 用于高效实例化一个基础模型类,而 D方法 用于实例化一个用户定义模型类. 使用M方法 如果是如下情况,请考虑使用 M方法: 对数据表进行简单的 CURD 操作而无复杂的业务逻辑时只有个别的表有较为复杂的业务逻辑时,将 M方法 与实例化 CommonModel 类进行结合使用M方法 甚至可以简单看着就是对参数表名对应的数据表的操作: $User = M('User'); 使用D方法 如果是如下情况,请考虑使用…
1.多层控制器 ThinkPHP的控制器支持多层和多级,多层指的是控制器可以分层,例如除了默认的Controller控制器层(我们可以称之为访问控制器),还可以添加事件控制器(层),例如: ├─Controller 访问控制器 ├─UserController.class.php ├─BlogController.class.php ├─Event 事件控制器 ├─UserEvent.class.php ├─BlogEvent.class.php 访问控制器的名称是通过DEFAULT_C_LAY…
升级指导 http://www.kancloud.cn/manual/thinkphp5/163239 从V5.0.1升级到V5.0.2 从V5.0.1升级到V5.0.2需要注意如下事项: 下列模型属性和方法由原来的静态(static)定义改为动态定义: 聚合模型的relationModel属性 Model类的useGlobalScope 属性 软删除属性 deleteTime属性 全局查询范围方法base改为动态方法 原来的join方法和view方法的第一个参数规范化,支持下面三种用法: 用法…
前后台配置: 在根目录文件夹中创建一个Conf文件夹 Conf文件夹下建立一个config.php文件,里面存放公共配置信息,方便前后台调用. 简单定义404页面 伪静态去除.html Config中 URL_HTML_SUFFIX  => ‘’ 分配模版 1:$this ->assign(‘XXX’,$XXX); 2:$this->a = 111; 3:$this->assign(‘xxx’,$xxx)->display(); 时间戳处理 {$v.time|date='y-…
一.ThinkPHP核心文件介绍 ├─ThinkPHP.php 框架入口文件 ├─Common 框架公共文件 ├─Conf 框架配置文件 ├─Extend 框架扩展目录 ├─Lang 核心语言包目录 ├─Lib 核心类库目录 │ ├─Behavior 核心行为类库 │ ├─Core 核心基类库 │ ├─Driver 内置驱动 │ │ ├─Cache 内置缓存驱动 │ │ ├─Db 内置数据库驱动 │ │ ├─TagLib 内置标签驱动 │ │ └─Template 内置模板引擎驱动 │ └─Te…
基于角色的访问控制(Role-Based Access Control) 在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限. ThinkPHP通过5张表实现权限控制 think_user (用户表) think_role (用户分组表) think_node (操作节点) think_role_user (用户和用户分组的对应) think_access (各个操作和用户组的对应) 认证过程 1.判断当前模块的当前操作是否需要认证 2.如果需要认证并且尚未登录,跳到…