随笔分类 - 1.3 PHP
摘要:新的逻辑引入了新的bug,会导致在跨多库连接时,产生表名前缀映射混乱,需要再做逻辑上的修复。function table_name($tablename) { if(!empty($this->map) && !empty($this->map[$tablename])) { ...
阅读全文
摘要:主要针对对象:Smarty/Dwoo参考:http://developer.51cto.com/art/201009/224929.htm其实以前都不怎么关注模板引擎,觉得没必要使用。但随着年龄的增加,代码洁癖越来越严重,才开始碰到这个问题。Smarty和CSS/JS的语法存在冲突,因为二者都需要使...
阅读全文
摘要:本文更新:http://www.cnblogs.com/x3d/p/3916198.html场景:在Discuz中创建Table模型,但该Table所在库与Discuz不在同一个库。Discuz好像是在3之后提供跨库映射的机制。映射没问题,主要是发现表名前缀没有相应的映射过来。当然,其实也不算bug...
阅读全文
摘要:基本思路: 先用URL标签生成完整的URL字符,前端动态参数的部分以适配符先填充,最后动态参数利用正则匹配进行替换。 这种方式,可以在各种MVC框架中适用,妙。 不废话,上码。 上面用原型的方式改变了String对象的方法,可以适当改写,变成一般的函数传参。 TP框架中的Url生成函数会对参数进行u
阅读全文
摘要://get拦截规则$getfilter = "\\||\\b(alert\\(|confirm\\(|expression\\(|prompt\\(|benchmark\s*?\\(\d+?|sleep\s*?\\([\d\.]+?\\)|load_file\s*?\\()|]*?\\bon([a-...
阅读全文
摘要:Web基础开发要解决的问题,往往也就是那些框架出现的目的 - 要解决问题。1. 便捷的Db操作;2. 高效的表单处理;3. 灵活的Url路由;4. 合理的代码组织结构;5. 架构延伸 缓存、安全、DB扩展等6. 丰富的类库;每种框架的哲学,决定了它最终的用户群体。其中关于表单处理,因为同时涉及前后端...
阅读全文
摘要:虽然很少用模板引擎,但总是有要用到的时候。随意翻看了两者代码,发现Smarty发展了这么多年居然还在用Eval实现一些特性。其实这没有什么高不高级之分,只是因为eval这个东东,导致一旦语法出错时,程序会直接挂掉,不便调试。
阅读全文
摘要:引入Rest风格接口的特性,主要是为了适应平台化和移动化开发的需要。移植自ThinkPHP项目的RestAction。REST(Representational State Transfer表述性状态转移)是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。REST提出了一...
阅读全文
摘要:Discuz的source/class/cache目录,代表着相应的缓存机制,但实际上废弃很多年了。Discuz用Memory代表了缓存,里面内置了memcache等多种缓存驱动。但很多人的开发环境甚至服务器环境都是没有配置这些缓存环境的。所以,产生了一个变废为宝的思路,就原来的cache思路移植到...
阅读全文
摘要:以前整理出来并在团队中推行的一份PHP编码规范,纸质的还在,电子版的居然找不到了,只好重新再整理一份。整理的过程中,忽然想到,这样的规范每个团队都不同,放在这里的意义不大,所以转而整理规范制定的思路。在PHP的内部世界,一时骆驼峰、一时小写下划线,整个命名本身就是一个很混乱的状态。后来,PHP的官方...
阅读全文
摘要:前言Apache被许多大流量网站所嫌弃,但很多企业级的场景则更为适用。Apache httpd 从 2.0 之后,已经不仅仅局限于一个 http 的服务器,更是一个完善而强大、灵活而健壮且容易扩展的开发平台。开发人员通过定制 Apache 模块,可以几乎无限制的扩展 Apache httpd,使其更...
阅读全文
摘要:题外话,像我这样从小到大作文打0分居多的人,写文章,实在是没有耐心的,抱歉。尽管自己也山寨过许多PHP框架,但被山寨的对象中,最喜欢的是WindFramework.Yii其实更好,但太大而全。WindFramework是一个轻量级的php开源框架,以组件工厂为核心,提供了像MVC、数据持久化、视图模...
阅读全文
摘要:通知机制的实现,官方只有文档没有demo代码,对没搞过的人来说,需要花大量时间来做测试。从文档上说的来看,微信每次通知过来的数据,结构比较复杂,是一个多段数据,除了要取出POST数据外,还要取其它的数据。这里首先涉及到一个关于php://input与$_POST取值的问题,简单列几点如下:1,Con...
阅读全文
摘要:由于使用了别人封装的微信公众平台SDK http://www.cnblogs.com/x3d/p/3740454.html ,所以省去了完整理解开发手册的时间。微信支付,即便交了保证金,你还是处理测试阶段,不能正式发布。必须到你通过程序测试提交订单、发货通知等数据到微信的系统中,才能申请发布。然后,...
阅读全文
摘要:由于服务器crontab只能精确到分钟,那程序的起点也是分钟。一共包括但部分:一、配置文件:配置文件是用来返回要执行的定时任务文件,注意一下*的使用就行了,有两个模式,就是Y-m-d H:i :年 月 日 时 分N H:i :星期(1 - 7|周一 - 周日) 时...
阅读全文
摘要:地址:https://github.com/dodgepudding/wechat-php-sdk微信公众平台php开发包,细化各项接口操作,支持链式调用微信支付接入文档: https://mp.weixin.qq.com/cgi-bin/readtemplate?t=business/course...
阅读全文
摘要:首先,主要是ecmall使用的phpmailer版本太低,不支持加密连接。然后,得对相应代码做一定调整。1. 覆盖phpmailer请从附件进行下载:http://files.cnblogs.com/x3d/ecmall_phpmailer_lib.zip2. 改造lib涉及到两个lib:mail....
阅读全文
摘要:1. 服务器是定制过的,不知对应的centos版本;2. PHP是自己编译的,而且服务器上没有保留对应版本的源代码,通过/pathto/php -v 找出php版本号,然后wget去下载对应的php源码包;3. 加压代码,到源码的ext/openssl目录下,使用phpize的方式进行编译环境的配置...
阅读全文
摘要:支付宝WAP网站版本的支付接口网上整合的比较少,看到很多网站在卖,顿觉无语。 主要是得自己查看支付宝官方提供的SDK中的开发文档。 支付宝sdk下载地址:https://doc.open.alipay.com/doc2/detail?treeId=60&articleId=103564&docTyp
阅读全文
摘要:假设有这样一个命题:需要对一个已有系统进行移植,有没有什么系统是适合用来作为进行快速移植的基础的。能解决每个系统的基本问题,只需考虑相关业务逻辑问题。OneThink是TP团队官方出品。http://www.onethink.cn/OneThink特性介绍:1.基于ThinkPHP最新版本Think...
阅读全文

浙公网安备 33010602011771号