thinkphp-2
php的跨文件变量?
global $g是一个脚本文件中, 函数外部的变量在函数中要使用时的 全局变量
$_GET等是所谓的"超全局变量", 但仍然是只能在一个脚本的范围内使用
要在所有的文件直接都可以使用 的变量 : $_SESSION $_COOKIE 或者使用数据库 中的表 字段.
读取项目Index中的配置文件?
注意, thinkphp中 使用了大量的 "单字母方法!" ,
一切都是: 为了快速开发, "写得更少, 做的更多" " 更适合人的常规思维" ,
所以, 很多操作, 自己 凭想象都可以猜得到, 而thinkphp正是这样的 一切以方便 人为出发点进行的
可以在控制器IndexAction类的方法index中, 通过C()函数方法: echo C('下标') 来读取项目Conf/config.php
配置文件中的配置项.
注意, 读取配置文件时, 框架和实际项目的配置文件都将去读取, 但是有优先级的:
C('配置项的名称'), 总是优先查询 项目下的Conf/config.php中的内容, 然后是 去查询/读取 thinkphp框架中的 php配置文件.
控制器中的方法, 读取配置文件时, C()方法不区分 下标的大小写?
配置文件的下标都 写成"全大写", 在引用配置时, 可以写小写.
在thinkphp的ORM中, 数据库/表/记录 都有相应层次的 对象 与之相对应:
其中, 与表table 相对应的 对象是: 表对象:$db = M('table_name');
由于表的 select/ insert/delete/update 的功能, 就由 "表对象" 相应层次的操作方法: $db -> select()/insert()/delete()/update()来实现.
如何修改项目的配置项?
在进行orm操作时, 直接调用了M(odel)方法: $db=M('tableName'); 并没有像手工操作时, 指明数据库连接的参数和语句?
因为这些数据库连接参数 , 都在配置文件中进行了设置...
一般不建议修改thinkphp框架的配置文件convention.php(惯例配置文件),因为: 如果在升级框架时, 会用新框架的文件覆盖原来的框架
如果将项目的配置写在框架中, 则升级时将会被清除项目的配置.
所以, 如果项目的配置和convention.php的配置不合, 则把项目的配置项 写在Index/Conf/config.php文件中.
多个子项目?
一个整个的项目, 是由几个 子项目 构成的, 如:前台, 后台, 等等
你可以在整个项目中, 创建多个子项目,
每个子项目, 由一个 对应的 子项目的入口文件和一个对应的子项目目录 组成, 如:
前台: index.php 和 Index目录组成(前台用Index来表示)
后台: admin.php 和 Admin 目录组成.(后台用Admin来表示).
---------------------------------
php函数调用方法:
如果是全局的函数, 当然就直接是 写函数名调用即可: global_foo_func();
但是, 如果你是调用的 类里面的 函数方法, 你就不能直接写 函数名了: 因为 你直接写函数名调用, 在全局函数中, 根本就没有你写的那个 函数. 所以不能直接写 .
第一, 如果要调用类中的函数, 你必须在方法前面 加上 类的对象(针对 实例方法), 或者类名 (针对 类方法)
第二, 调用的地方不同, 写法也不一样: 在类的外部 要用具体的实例名 或类名, 如$a_obj . 在类的内部 函数中, 要用其他借代 的名字, 如: $this, self::, parent等等
表示 调用这个函数的 对象和被调用函数的对象 是同一个对象
thinkphp-2的更多相关文章
- 制作类似ThinkPHP框架中的PATHINFO模式功能
一.PATHINFO功能简述 搞PHP的都知道ThinkPHP是一个免费开源的轻量级PHP框架,虽说轻量但它的功能却很强大.这也是我接触学习的第一个框架.TP框架中的URL默认模式即是PathInfo ...
- 在 SAE 上部署 ThinkPHP 5.0 RC4
缘起 SAE 和其他的平台有些不同,不能在服务器上运行 Composer 来安装各种包,必须把源码都提交上去.一般的做法,可能是直接把源码的所有文件复制到目录中,添加到版本库.不过,这样就失去了与上游 ...
- ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案
好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: ...
- ThinkPHP 模板substr的截取字符串函数
ThinkPHP 模板substr的截取字符串函数在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ function msubstr($str, $start ...
- thinkphp数据的查询和截取
public function NewsList(){ $this->assign('title','news'); $p = I('page',1); $listRows = 6; $News ...
- [转]thinkphp 模板显示display和assign的用法
thinkphp 模板显示display和assign的用法 $this->assign('name',$value); //在 Action 类里面使用 assign 方法对模板变量赋值,无论 ...
- [转]ThinkPHP中实例化对象M()和D()的区别,select和find的区别
1.ThinkPHP中实例化对象M()和D()的区别 在实例化的过程中,经常使用D方法和M方法,这两个方法的区别在于M方法实例化模型无需用户为每个数据表定义模型类,如果D方法没有找到定义的模型类,则会 ...
- Kindeditor在ThinkPHP框架下的使用
1.简单调用Kindeditor的图片上传功能: a.Html部署图片预览,记录图片上传成功之后的路径,以及上传图片点击按钮 <tr> <td>活动图片:</td> ...
- 在thinkphp中,写的博文标签多对多关系的标签频率统计算法
常常看到别人的博客里面,或者网站里面有这样随机颜色,但字体大小与标签出现频率有关的标签云,于是自己就想写一个.至于颜色的随机显示,那就很简单了,这里就不列代码. 因为正在学thinkphp,所以数据查 ...
- thinkphp怎么修改配置进入默认首页
thinkphp文件夹下config 里面有个convention.php文件 里面有三个配置 'DEFAULT_MODULE' => 'Home', // 默认模块 'DEFAULT_CONT ...
随机推荐
- linux下gcc编译多个源文件、gdb的使用方法
一. gcc常用编译命令选项 假设源程序文件名为test.c. 1. 无选项编译链接 用法:#gcc test.c 作用:将test.c预处理.汇编.编译并链接形成可执行文件.这里未指定输出文件,默认 ...
- 超全!iOS 面试题汇总
之前看了很多面试题,感觉要不是不够就是过于冗余,于是我将网上的一些面试题进行了删减和重排,现在分享给大家.(题目来源于网络,侵删) 1. Object-c的类可以多重继承么?可以实现多个接口么?Cat ...
- (转)Python实例手册
原文地址:http://hi.baidu.com/quanzhou722/item/cf4471f8e23d3149932af2a7 实在是太好的资料了,不得不转 python实例手册 #encodi ...
- VS一般设置(字体,背景色)
字体 打开工具=>环境=>字体和颜色,字体:Consolas,大小:13 背景色 缩进设置 工具=>文本编辑器=>纯文本=>制表符=>保留制表符
- jquery面试需要看的基本东西
1. offset() 方法的学习offset().left offset().top 表示离document的距离.(浏览器可以看到的地方的距离)2. position与offset的区别:a.使用 ...
- form表单用ge方式提交时ie显示中文参数乱码
有网友说 通过给form表单添加accept-charset="gb2312"和 onsubmit="document.charset='gb2312'" 但这 ...
- JS函数表达式
导图
- [转载]VS2012编译C语言scanf函数error的解决方法
在VS 2012 中编译 C 语言项目,如果使用了 scanf 函数,编译时便会提示如下错误: error C4996: 'scanf': This function or variable may ...
- ansible 的组件inventory
P44 Ansible 的默认的inventory的是一个静态的ini格式的文件/etc/ansible/hosts. 我们还可以通过ansible_hosts环境变脸指定或者运行ansible和an ...
- 【BZOJ 3224】普通平衡树 模板题
删除节点时把节点splay到根: 然后把根左子树的最右边节点splay到根的左孩子上: 然后删除就可以了: 我的教训是删根的时候根的右孩子的父亲指针一定要记得指向根的左孩子!!! my AC code ...