当前位置:  编程技术>php
本页文章导读:
    ▪phpcms二次开发之base.php的桥梁作用 - skill      PHPCMS是采用MVC设计模式开发,基于模块和操作的方式进行访问,采用单一入口模式进行项目部署和访问,无论访问任何一个模块或者功能,只有一个统一的入口。      入.........
    ▪国外主流PHP框架比较 - huidaoli      最近简单的使用了目前在国内用的比较多的几个主流国外PHP框架(不包括国内框架),大致对这些框架有个直观上的感受,简单分享一下,对于哪些做框架选型的时候,权当一个参考。主要参.........
    ▪PHP的GD库函数大全 - huidaoli      GetImageSize作用:取得图片的大小[即长与宽]  用法:array GetImageSize(string filename, array [imageinfo]); ImageArc作用:画弧线 用法:int ImageArc(int im, int cx, int cy, int w, int h, int s, int e, int col); Ima.........

[1]phpcms二次开发之base.php的桥梁作用 - skill
    来源:    发布时间: 2013-11-07

PHPCMS是采用MVC设计模式开发,基于模块和操作的方式进行访问,采用单一入口模式进行项目部署和访问,无论访问任何一个模块或者功能,只有一个统一的入口。

      入口程序是在前期处理用户请求的引导程序。它是唯一一个可以被最终用户可以直接请求运行的。

PHPCMS框架入口文件base.php:

文件路径:根目录/phpcms/base.php 代码片段如下:

该文件为框架入口文件,包含实例化系统/模块类方法,调用系统/模块方法,系统常用常量等。如:

     pc_base::load_model('*_model') 加载数据库模型 类

     pc_base::load_sys_class('classname') 实例化系统类

     pc_base::load_app_class('classname’,’admin') 实例化模块类

     pc_base::load_sys_func (‘funcfile’) 调用系统函数库
     
     pc_base::load_sys_func('global','test'); //加载模块函数库(调用test模块的global函数包)


实例化一个应用
文件路径:根目录/index.php

这段代码首先加载了 phpcms 框架的引导文件 base.php,然后调用其静态方法creat_app()根据指定的配置文件建立了一个 Web 应用实例并运行。


数据库配置文件database.php的调用
文件路径:根目录/caches/configs/database.php

这段代码首先使用 pc_base::load_app_func()加载了index模块自定义的函数库global.func.php,这样就可以随心所欲地调用global.func.php自定义的函数了。使用pc_base::load_config()静态方法加载了phpcms的数据库配置文件database.php,获取数据库的配置信息,这样可以摆脱PHPCMS框架的局限性,使用原生态的PHP mysql去进行二次开发。

 

实例化模块类

这段代码使用pc_base::load_app_class()方法实例化admin模块的admin.class类。

由此我们知道,不管我们是调用PHPCMS框架里面的系统类或函数库还是调用自定义的模块类或函数库等,我们都可以在base.php里找到需要的调用方法,所以PHPCMS二次开发,弄清base.php里面的静态方法至关重要。


本文链接:http://www.cnblogs.com/sunny-blog/p/3214785.html,转载请注明。


    
[2]国外主流PHP框架比较 - huidaoli
    来源:    发布时间: 2013-11-07

最近简单的使用了目前在国内用的比较多的几个主流国外PHP框架(不包括国内框架),大致对这些框架有个直观上的感受,简单分享一下,对于哪些做框架选型的时候,权当一个参考。
主要参考的框架包括:CodeIgniter、CakePHP、ZendFramework、Symfony

说明:我对很多框架也没有认真使用,只是简单试用了一下,可能很多看法不成熟或者是错误的,请大家指正,一起成长。 :-)


【 CodeIgniter 】

官方网站:
中文网站:
中文手册:
视频教程:
测试版本:CodeIgniter_1.6.1

优点:
1. 配置简单,全部的配置使用PHP脚本来配置,执行效率高;具有基本的路由功能,能够进行一定程度的路由;具有初步的Layout功能,能够制作一定程度的界面外观;数据库层封装的不错,具有基本的MVC功能
2. 快速简洁,代码不多,执行性能高,框架简单,容易上手,学习成本低,文档详细;自带了很多简单好用的library,框架适合小型应用

缺点:
1. 把Model层简单的理解为数据库操作
2. 框架略显简单,只能够满足小型应用,略微不太能够满足中型应用需要

评价:
总体来说,拿CodeIgniter来完成简单快速的应用还是值得,同时能够构造一定程度的layout,便于模板的复用,数据操作层来说封装的不错,并且CodeIgniter没有使用很多太复杂的设计模式,执行性能和代码可读性上都不错。至于附加的 library 也还不错,简洁高效。

 

【 CakePHP 】

官方网站:
中文手册:
视频教程:
测试版本:cake_1.1.19.6305

优点:
1. CakePHP是最类似于RoR的框架,包括设计方式,数据库操作的Active Record方式;设计层面很优雅,没有自带多余的 library,所有的功能都是纯粹的框架,执行效率还不错;数据库层的 hasOne, hasMany 功能很强大,对于复杂业务处理比较合适;路由功能,配置功能还不错;自动构建脚手架(scaffold)很强大;适合中型应用;基本实现过了MVC每一层;具有自动操作命令行脚本功能;
2. 文档比较全,在国内推广的比较成功,大部分都知道CakePHP,学习成本中等

缺点:
1. CakePHP非常严重的问题是把Model理解为数据库层操作,严重影响了除了数据库之外的操作能力
2. CakePHP的cache功能略显薄弱,配置功能稍嫌弱;CakePHP不适合大型应用,只适合中型应用,小型应用来说略微的学习成本高了点

评价:
总体来说CakePHP框架代表了PHP框架很重要的一个时代和代表,并且目前发挥着很重要的作用,不少自己写的框架都模仿了CakePHP的方式,是个里程碑式的产品;CakePHP透露着RoR的敏捷开发方式和把数据库操作认为是唯一Model的设计思想,作为开发快速应用和原型是绝好的工具;同样,用来做Web2.0网站的开发框架,也是值得选择的。


【 Zend Framework 】

官方网站:
中文手册:
视频教程:
测试版本:ZendFramework-1.5.0


    
[3]PHP的GD库函数大全 - huidaoli
    来源:    发布时间: 2013-11-07

GetImageSize
作用:取得图片的大小[即长与宽]  用法:array GetImageSize(string filename, array [imageinfo]);

 ImageArc
作用:画弧线 用法:int ImageArc(int im, int cx, int cy, int w, int h, int s, int e, int col);

 ImageChar
作用:写出横向字符 用法:int ImageChar(int im, int font, int x, int y, string c, int col);

 ImageCharUp
作用:写出竖式字符  用法:int ImageCharup(int im, int font, int x, int y, string c, int col);

ImageColorAllocate
作用:匹配颜色 用法:int ImageColorAllocate(int im, int red, int green, int blue); 
 
ImageColorTransparent
作用:指定透明背景色  用法:int ImageColorTransparent(int im, int [col]);
 
ImageCopyResized
作用:复制新图并调整大小 用法:int ImageCopyResized(int dst_im, int src_im, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH);
 
ImageCreate
作用:建立新图  用法:int ImageCreate(int x_size, int y_size); 
 
ImageDashedLine
作用:绘虚线 用法:int ImageDashedLine(int im, int x1, int y1, int x2, int y2, int col);
 ImageDestroy 作用:结束图形 用法解释:int ImageDestroy(int im);
 
ImageFill
作用:图形着色  用法:int ImageFill(int im, int x, int y, int col);

ImageFilledPolygon

作用:多边形区域着色  用法:int ImageFilledPolygon(int im, array points, int num_points, int col);
 


ImageFilledRectangle

作用:矩形区域着色 用法:int ImageFilledRectangle(int im, int x1, int y1, int x2, int y2, int col);
 
ImageFillToBorder

作用:指定颜色区域内着色  用法:int ImageFillToBorder(int im, int x, int y, int border, int col);
 
ImageFontHeight
作用:取得字型的高度  用法:int ImageFontHeight(int font);
 
ImageFontWidth

作用:取得字型的宽度  用法:int ImageFontWidth(int font);
 
ImageInterlace

作用:使用交错式显示与否  用法:int ImageInterlace(int im, int [interlace]);
 
ImageLine

作用:绘实线  用法:int ImageLine(int im, int x1, int y1, int x2, int y2, int col);
 
ImageLoadFont

作用:载入点阵字型  用法:int ImageLoadFont(string file); 

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
编程语言 iis7站长之家
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3