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 ...
随机推荐
- Ubuntu 16.04 LTS安装好需要设置的15件事(喜欢新版本)
看到这篇文章说明你已经从老版本升级到 Ubuntu 16.04 或进行了全新安装,在安装好 Ubuntu 16.04 LTS 之后建议大家先做如下 15 件事.无论你是刚加入 Ubuntu 行列的新用 ...
- IOS开发之—— Core Foundation对象与OC对象相对转换的问题
对ARC盲目依赖的同学: 1过度使用block后,无法解决循环引用问题 2遇到底层Core Foundation对象,需要自己手工管理它们的引用计数时,显得一筹莫展 first:对于底层Core Fo ...
- iOS中偏好设置的创建,数据写入与读取
NSUserDefaults与NSDictinary? 应用通过NSUserDefaults用键值对的方式来读取和保存偏好设置数据,与通过键从NSDictionary对象中获取数据一样,不同之处在于N ...
- HTML5 文件异步上传 — h5uploader.js
原文地址:http://imziv.com/blog/article/read.htm?id=62 之前写过一篇H5异步文件上传的文章, 但是很多朋友看着我的这个教程还是出现很多问题,文章写的不是很好 ...
- 城市区号SQL
今天写代码的时候需要用到全国城市区号,网上找了好久没有现成的SQL,于是自己录数据写了一个,和大家共享! 目前还只有300个城市的区号 文件下载地址放在最后! GO FROM sysobjects W ...
- openwrt u-boot_mod 代码分析
u-boot_mod 是具有web 浏览器的uboot,也就是传说中的不死uboot,这里的不死指的是不管怎么刷firmware 都可以方便更换firmware,而不是uboot本身就是不死的. 这里 ...
- Jenkins进阶系列之——14配置Jenkins用户和权限
今天给大家说说使用Jenkins专有用户数据库的配置,和一些常用的权限配置. 配置用户注册 在已运行的Jenkins主页中,点击左侧的系统管理—>Configure Global Securit ...
- 1.SQLAlchemy文档-简介(中文版)
Python的SQL工具包和对象关系映射器 SQLAlchemy的是Python的SQL工具包和对象关系映射器,让应用程序开发人员可以使用上SQL的强大功能和灵活性. 它提供了一套完整 ...
- 慢牛系列四:好玩的React Native
在上次随笔(系列三)中,我试着用RN实现了一个Demo,感觉很不错,当时遇到的问题这篇文章里基本都解决了,比如导航动画问题,这篇文章里主要介绍RN的动画,学会动画以后,各种小创意都可以实现了^^ 下面 ...
- 如何优雅的写一篇安利文-以Sugar ORM为例
前言 我最近喜欢把写的十分优美的技术文章叫做安利文.首先,文章必须是原创而非软广:其次,阅读之后不仅能快速吸纳技术要点并入门开发,还能感同身受的体会作者热情洋溢的赞美和急于分享心得体验的心情,让人感觉 ...