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 ...
随机推荐
- Activiti系列: 如何添加自定义表单引擎
这个功能挺有意思的,有了它,就可以不适用html的方式来展示表单了,比如可以用swing对象了 class MyFormEngine implements FormEngine { @over ...
- 浪潮之巅IT那点事之三——神奇的规律
“道可道,非常道”是老子在<道德经>中的开篇第一句话,这句话的意思是:万事万物其真理是可以探索并道说得出来的,但这些真理并非是永恒的,天道轮转,没有永恒不变的真理(来自百度百科).在IT行 ...
- python实现简易数据库之二——单表查询和top N实现
上一篇中,介绍了我们的存储和索引建立过程,这篇将介绍SQL查询.单表查询和TOPN实现. 一.SQL解析 正规的sql解析是用语法分析器,但是我找了好久,只知道可以用YACC.BISON等,sqlit ...
- sublime文档
英文http://docs.sublimetext.info/en/latest/index.html 翻译http://feliving.github.io/Sublime-Text-3-Docum ...
- javascript继承(八)-封装
这个系列主要探讨的是javascript面向对象的编程,前面已经着重介绍了一下js的继承,下面想简单的说一下js如何实现封装的特性. 我们知道面向对象的语言实现封装是把成员变量和方法用一个类包围起来, ...
- 网站开发技巧, 使用byte[]持久化用户个性设置
场景, 网站用户的个性化配置较多, 而且容易发生增加和改变, 如何在数据库保存是个问题. 为了避免数据库表字段经常变更, 我们设计在表增加一个varbinary(max)字段存储个性化配置. 个性化的 ...
- HDU 1171 Big Event in HDU 多重背包二进制优化
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1171 Big Event in HDU Time Limit: 10000/5000 MS (Jav ...
- 缓存插件 EHCache
EHCache是来自sourceforge(http://ehcache.sourceforge.net/)的开源项目,也是纯Java实现的简单.快速的Cache组件. 下载jar包 Ehcache ...
- TreeSet和TreeMap的输出
如果加入TreeSet和TreeMap的元素没有实现comprable中的compareTo()方法,那么会报错"treeset cannot be cast to java.lang.Co ...
- 腾讯云CentOS7安装LNMP+wordpress
许多云主机都有学生优惠,于是我趁着现在大一买了个腾讯1元云主机+免费cn域名(高中生的话就别想了).鉴于我只知道用服务器安装博客,别的用途不了解,所以我就去安装wordpress. 而由于我看的教程有 ...