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 ...
随机推荐
- dxut.h(29): fatal error C1083: Cannot open include file: 'dxsdkver.h': No such file or directory
从网上download一个三维演示模型的软件编译发现报找不到dxsdkver.h文件,网上查阅这是MS的DirectX sdk中的库文件,于是先download DirectX SDK 安装之后,配置 ...
- Linux常用指令---$PATH (环境变量)
实例一:设置临时环境变量 在linux服务器上设置临时环境变量,当退出shell环境时,自动销毁 export JAVA_HOME=/usr/java/jdk1.6.0_32 export class ...
- 导航栏全透明效果, 只保留左右两个按钮, 如何实现?以及关于NavigationController的小问题
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageWithColor:[UIColor clearCo ...
- SVN中trunk、branches、tags用法详解
Subversion有一个很标准的目录结构,是这样的.比如项目是proj,svn地址为svn://proj/. 那么标准的svn布局是:svn://proj/|+-trunk+-branches+-t ...
- 清除sql server 登录的时候记住的账户
SQl 2008如何清除登陆过的服务器名称 C:\Users\Administrator\AppData\Roaming\Microsoft\Microsoft SQL Server\100\To ...
- 九幽史程博:助力国内开发者借Win10东风出海
微软Biuld2016大会刚刚结束,会议上微软CEO纳德拉Show出的一大波黑科技,又一次让软粉们心情为之振奋,信仰充值爆棚! 尽管过去一年微软的Win10 Mobile表现不尽如人意,可是凭借PC端 ...
- 微信支付开发-Senparc.Weixin.MP详解
年底了,反而工作更忙了,我从15年11月开始写<1024伐木累>系列小说和爆笑对白,得到了很多身边的技术好友的支持,现在爆笑对白已经有越来越多的朋友一起帮着写段子,整理,包括小说内容的编辑 ...
- 简述WebService的使用(二)
上集回顾 上一篇我简单的介绍了一下整个WebService建立和后端访问的过程,如果感兴趣可以看一看:简述WebService的使用(一) //如有不懂请留言,觉得有用请点赞 内容提要 这一篇主要介绍 ...
- redis学习笔记——(2)
4.Redis中的string类型 String类型是最简单的类型,一个Key对应一个Value,String类型是二进制安全的.Redis的String可以包含任何数据,比如jpg图片或者序列化的对 ...
- solr导入mysql数据库
感谢ITeye的博主viskyzz分享的经验,笔者基本参考ta的方法.然而,解决中间出现的问题时也融入了自己的经验. 查看ta的原文请戳: http://tbwuming.iteye.com/blog ...