您现在的位置是:首页 > cms教程 > phpcms教程phpcms教程
PHPCMSv9语法和结构分析
尔珍2025-05-21 11:54:30phpcms教程已有3人查阅
导读最近公司要做微信接口开发。用asp.net 始终取不到微信用户的openId,换了php却可以。于是把代码改用PHP开发了。于是在项目中引入了PHPCMS V9这个框架。 学习PHP的第一份资料
最近公司要做微信接口开发。用asp.net 始终取不到微信用户的openId,换了php却可以。于是把代码改用PHP开发了。
于是在项目中引入了PHPCMS V9这个框架。 学习PHP的第一份资料
其实很早就用PHPCMS V9了,但是一直没有深入研究。这些天正好仔细分析一下。
一、先简单看了看PHP语法:
PHP是一种弱类型,解释型,动态的语言,和C#不一样,和javascript有那么点相似。
PHP中的类没有public修饰符。据说php5已经开始由namespace,但是phpcms v9目前没有使用。
类中函数的调用:
刚用的时候老闹心了。非静态的方法是$this->方法名。我经常用this->。
类中的静态方法是类名::方法名.
include,inlude_once,require,require_once
类似C#中的using还是java里的import ,不过这里需要指明php文件的路径。
因为 include 是一个特殊的语言结构,其参数不需要括号。在比较其返回值时要注意
处理返回值:在失败时 include 返回 FALSE 并且发出警告。成功的包含则返回 1,
如果来自远程服务器的文件应该在远端运行而只输出结果,那用readfile() 函数更好。另外还要格外小心以确保远程的脚本产生出合法并且是所需的代码
require 和 include 几乎完全一样,除了处理失败的方式不同之外。require 在出错时产生 E_COMPILE_ERROR 级别的错误。换句话说将导致脚本中止而 include 只产生警告(E_WARNING),脚本会继续运行。
include_once 语句在脚本执行期间包含并运行指定文件。此行为和 include 语句类似,唯一区别是如果该文件中已经被包含过,则不会再次包含。如同此语句名字暗示的那样,只会包含一次。
php 5 说是面向对象的,但是它和C#,java不一样,并不能算是完全的面向对象。
至少C# ,java除了main函数,都是类。php 5除了类还有独立的define或者function 等。
二、phpcms v9 的基本结构:
【1】caches 文件夹放着配置文件和缓存文件。 phpcms v9 使用了文件型缓存,当然也可以配置memcache。
【2】statics 目录 放静态文件JS,CSS,images
【3】phpcms 是程序主文件。
--libs 系统核心库
-- model文件夹 数据表模型,并不像C#活java 里头做ORm时,每个数据表对应一个实体类,实体类每个字段和数据表的字段对应。这里的实体类只是指明了类对应的表而已。每一个model 都继承自父类model
而这个model类,更像是早几年甚至现在都用的SqlHelper。
在phpcms v9中,每个model对单表操作还可以,想写个联合查询是很难滴。目前我用视图实现。即先做一个多表操作的视图,然后在phpcms v9 里放一个视图的model,把视图当表操作么。
【4】 modules 目录放着phpcms v9的所有模块。
每个模块至少有这么几个目录,classes,functions,templates 。
classes:可以看做是控制器的基础类吧
functions:工具函数?
templates : 这是给管理端操作这个模块用的。
三、PHPCMS v9 的运行流程
1: index.php 调用base.php.
2: 定义变量,拆分路由,加载路由指定的module中的方法。
其中用了几个反射【不知道是不是可以这么称呼】。
class_exists 判断控制器是否存在,
method_exists 判断方法是否存在。
call_user_func(array($controller, ROUTE_A)); 调用控制器里的防范。
在方法中include php模板文件,齐活,一个网页就这么动起来了。
于是在项目中引入了PHPCMS V9这个框架。 学习PHP的第一份资料
其实很早就用PHPCMS V9了,但是一直没有深入研究。这些天正好仔细分析一下。
一、先简单看了看PHP语法:
PHP是一种弱类型,解释型,动态的语言,和C#不一样,和javascript有那么点相似。
PHP中的类没有public修饰符。据说php5已经开始由namespace,但是phpcms v9目前没有使用。
类中函数的调用:
刚用的时候老闹心了。非静态的方法是$this->方法名。我经常用this->。
类中的静态方法是类名::方法名.
include,inlude_once,require,require_once
类似C#中的using还是java里的import ,不过这里需要指明php文件的路径。
因为 include 是一个特殊的语言结构,其参数不需要括号。在比较其返回值时要注意
处理返回值:在失败时 include 返回 FALSE 并且发出警告。成功的包含则返回 1,
如果来自远程服务器的文件应该在远端运行而只输出结果,那用readfile() 函数更好。另外还要格外小心以确保远程的脚本产生出合法并且是所需的代码
require 和 include 几乎完全一样,除了处理失败的方式不同之外。require 在出错时产生 E_COMPILE_ERROR 级别的错误。换句话说将导致脚本中止而 include 只产生警告(E_WARNING),脚本会继续运行。
include_once 语句在脚本执行期间包含并运行指定文件。此行为和 include 语句类似,唯一区别是如果该文件中已经被包含过,则不会再次包含。如同此语句名字暗示的那样,只会包含一次。
php 5 说是面向对象的,但是它和C#,java不一样,并不能算是完全的面向对象。
至少C# ,java除了main函数,都是类。php 5除了类还有独立的define或者function 等。
二、phpcms v9 的基本结构:
【1】caches 文件夹放着配置文件和缓存文件。 phpcms v9 使用了文件型缓存,当然也可以配置memcache。
【2】statics 目录 放静态文件JS,CSS,images
【3】phpcms 是程序主文件。
--libs 系统核心库
-- model文件夹 数据表模型,并不像C#活java 里头做ORm时,每个数据表对应一个实体类,实体类每个字段和数据表的字段对应。这里的实体类只是指明了类对应的表而已。每一个model 都继承自父类model
而这个model类,更像是早几年甚至现在都用的SqlHelper。
在phpcms v9中,每个model对单表操作还可以,想写个联合查询是很难滴。目前我用视图实现。即先做一个多表操作的视图,然后在phpcms v9 里放一个视图的model,把视图当表操作么。
【4】 modules 目录放着phpcms v9的所有模块。
每个模块至少有这么几个目录,classes,functions,templates 。
classes:可以看做是控制器的基础类吧
functions:工具函数?
templates : 这是给管理端操作这个模块用的。
三、PHPCMS v9 的运行流程
1: index.php 调用base.php.
2: 定义变量,拆分路由,加载路由指定的module中的方法。
其中用了几个反射【不知道是不是可以这么称呼】。
class_exists 判断控制器是否存在,
method_exists 判断方法是否存在。
call_user_func(array($controller, ROUTE_A)); 调用控制器里的防范。
在方法中include php模板文件,齐活,一个网页就这么动起来了。
本文标签:
很赞哦! (1)
暂无内容 |
暂无内容 |
相关文章
暂无内容 |
暂无内容 |
随机图文
PHPCMS列表页伪静态实现方法
phpcms v9内容管理系统可以方便建立网站,并且生成静态化,但是列表页往往采取伪静态,因为列表页太多每发一篇文章就生成一遍静态效率太低,phpcms列表页及分页伪静态规则如何设置呢?PHPCMSv9构建模块介绍
1.phpcms v9帮助文件,上面会写关于二次开发的一些方法。2.找一个后台还没安装的模块,先把代码看一边。比如dianping模块phpcmsV9首页模板文件解析介绍
在了解了《phpcms V9 URL访问解析》之后,我们已经知道首页最终执行的是content模块下index控制器的init方法。下面, 我们逐步分析过程如下:phpcms模板制作和常用调用写法介绍
1、先更改 目录下的站点名称,再找到apache, 打开“Apache2\conf\extra”下的“httpd-vhosts.conf”文件,添加上自己需要添加的站点。
留言与评论 (共有 0 条评论) |