Manage Subscriptions

On November 1, 2011, in solarphp, by 校长

[wpmlmanagement]

开源视窗在本期推荐项目中推荐SOLAR PHP

On April 24, 2011, in solarphp, by 校长

============================ Solar简介 ============================ Solar(Simple Object Library and Application Repository的缩写)是基于PHP 5的web应用框架。她继承了Savant模板系统、DB_Table对象-关系管理包以及PEAR组织结构的优良特性及先进思想。 Solar由Paul M. Jones创办,他也是Solar系统的“独裁者”。其他开发人员主要为标准项目分发包开发组件,所有这些代码和分发包都遵守New BSD协议。 ============================ Solar特点 ============================ 1. 优雅和一致的:代码库本身是很容易理解的,坚持文档友好的命名规则,并有很强的概念完整性。 2. 完整的名字空间: Solar类库有它们自己的PHP5.2名字空间 ,并且Solar中的vendor同样有自己的名字空间。这样一来,混合其他组件和框架也不是什么难事了,因为他们不会产生名字冲突。 3. 配置是可继承的:在配置文件配置好某个类,该类的所有子类都会默认继承该配置。 4. 本地化是可继承的:设置某个类的本地化字符串,该类的所有子类都会继承那些本地化字符串。 5. 针对SQL注入,跨站点脚本的攻击和其他常见的攻击有非常容易使用的防卸体系。 6. 验证和查审有户输入,有健壮和可扩展的数据过滤体系。 7. 用于LDAP、TypeKey、数据库htpasswd及其他源的验证适配器。 8. 用于memcache、APC、XCache及其他系统的缓存适配器。 9. 用于超链接, 图像, 样式, 本地化文本, 表单生成等的视图辅助类。 10. 健全和强大的模型系统 ,让你可以使用记录对象自动生成表单。 11. 充分集成企业的开发模式,例如: * 数据映射 * 依赖注入和服务定位器 * 延迟加载 * MVC 模式 [...]

Solar工厂模式/工厂方法

On April 23, 2011, in solarphp, by 校长

SOLAR PHP 群中有人要求我写一篇介绍如何开发Solar插件的文章,恩,我也觉得很有必要,不过要介绍Solar插件,我认为必须先介绍Solar工厂模式和Solar依赖注入才能更好的了解Solar插件。那么这篇文章就来介绍下Solar的工厂模式。 首先来看下Solar工厂方法,对于一个框架来说工厂函数至关重要,所以该方法在Solar架构类中,点击这里查看,由此可见其重要性。 public static function factory($class, $config = null) { Solar_Class::autoload($class); $obj = new $class($config); // is it an object factory? if ($obj instanceof Solar_Factory) { // return an instance from the object factory return $obj->factory(); } // return the object itself return $obj; } 大致意思如下: 首先通过Solar_Class::autoload()方法加载文件,该方法会在被PHP或SOLAR包含过的所有路径中查找类文件。 然后实例化类,如果该对象是Solar_Factory的实例,则直接调用对象的factory方法,并返回结果。如果不是则直接返回对象。 代码很简单,但设计得很巧妙。妙就妙在Solar_Factory类,它是一个抽象类,不能直接实例化它。适配器模式主要就是由它实现的。请看factory方法: public function factory() { [...]

Solar连接Oracle存在的问题!

On January 2, 2011, in solarphp, by 校长

前段时间朋友@东疯 使用Solar连接Oracle,死活都连不上,搞了好久天,所以我也找时间研究了下。看这里:http://wiki.oracle.com/page/PHP+Oracle+FAQ。使用PDO连接Oracle: try { $dbh = new PDO(‘oci:dbname=myhost/XE’, ‘myusername’, ‘mypassword’); } catch (PDOException $e) { trigger_error(“Could not connect to database: “. $e->getMessage(), E_USER_ERROR); } 有三种合法字符串: 1. 简易连接 $c = oci_connect(‘myusername’, ‘mypassword’, ‘mymachine.mydomain/MYDB’); $d = new PDO(‘oci:dbname=myhost/XE’, ‘myusername’, ‘mypassword’); //或 $c = oci_connect(‘myusername’, ‘mypassword’, ’127.0.0.1/XE’); $d = new PDO(‘oci:dbname=127.0.0.1/XE’, ‘myusername’, ‘mypassword’);

Solar中文手册已成功嵌入官方站框架!

On November 15, 2010, in solarphp, by 校长

有人反映solar中文手册的界面太丑了,不过我认为手册最主要的是访问速度快,越快越好;只要结构清晰,越简洁越好。 为了满足部分人的需求,所以今早把手册嵌入到网站框架中了。原来的仍能访问。 新版地址入口: http://solarphp.cn/manual-new/ 旧版地址入口: http://solarphp.cn/manual/ 那么我是怎么做的呢?为了赶快放上去,我用editplus把这将近100个文件一次性打开,然后统一替换其中的某些文本符。这是傻瓜式做法,为了方便以后更快地把手册嵌入到官方站框架中,特意写了这个脚本:

PHP框架 Solar 1.1.2发布!

On November 15, 2010, in solarphp, by 校长

伴随着冬天的到来,Solar迎来了她的1.1.2版本,并更新手册2章(Command-line tools及Mail),请移步英文官方站查看: http://solarphp.com/。2010-11-09,Paul在Mail-list上发贴,宣布Solar 1.1.2已经发布。代码比之前更精练,所以仍有必要尽快升级。而且Paul做了很多针对Windows 平台的工作,可惜仍有一些兼容问题,仍不支持Windows Xp,所以修改源码仍有必要。Solar Demo站(http://demo.solarphp.cn)已更新至1.1.2,且运行在windows 2003平台。 这是一个Bug修复版,更新如下: