PHP的常见ORM特性初探

最近在跟着岁寒兄的博客尝试造个简单的轮子。由于平时也读不进去框架源码,所以顺便也算是第一次深入底层了解框架的原理。

写到了M层的ORM这一块,没有找到一个中文的系统的说明常见ORM特性的帖子,所以准备整理下来,侧重点是Mysql和MariaDB,边学边记,给自己留一份底,也希望能给后来者一些帮助

Doctrine ORM

信仰?难道是个帕拉丁?

Medoo

Eloquent ORM

(Laravel家的)

ADOdb Active Record

Axon ORM

Flourish

Idiorm

NotORM

P[……]

继续阅读

关于对基于PHP的Web程序搜索之后的结果集进行排序方法的尝试与思考(记一次闲的蛋疼的脑洞)

公司的项目中碰到了一个需求,就是在一个能对IP/PV排序的列表页添加一个搜索功能。
本身搜索功能不难加,排序功能也不难写。按我的习惯,对搜索之后的结果集进行排序无非就是在点击排序之后触发Ajax把条件带给后台,然后程序根据搜索条件进行查询。
然后我分析了一下后台方法里的代码逻辑,做了这么一张图:

想了想,哇,这么麻烦的吗?这得多少层的if判断啊。。
然后就开始想这个问题,这样一直要各种判断,然后感觉很麻烦,想了想不如一次查询或搜索,然后在数据传到前台之后,在js中进行点击排序。
使用js排序的话有个好处,就是只需要一次加载,所有的操作都在浏览器(相当于客户端)完成,不太会受网速的影响。
而在[……]

继续阅读

聊聊MV+

为了让自己更深入的理解框架,最近自己的着手开发一个框架,卡在了设计模式这块,于是进行了资料的搜集、分析和整理。
作为一个PHPer,最先接触到的也是唯一接触到的MV+的逻辑架构就是MVC

MVC

以下内容来自某百科

  • 定义:

    MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图[……]

    继续阅读

从存储过程说起,浅析业务逻辑写在数据库中还是应用程序中

今天在项目的代码中发现了一个语句:

BEGIN PROC_CREATE_USERRECORD(:userid, :menu, :detail, :login_ip); END;

ORACLE数据库,之前没有接触过,看到这段代码之后感觉不明觉厉,问了下同事,原来是存储过程,所以查了查存储过程。

啥是存储过程
谷歌说,数据库的存储过程,本质上是一个可编程的函数,他在数据库中创建并保存。
普通的SQL语句是先编译再执行的,而存储过程是数据库编译好之后储存在数据库中的,所以会比一些SQL语句执行效率更快。

然后在@刘水镜 的BLOG中看到了触发器的概念,然后就稍微地了解了下触发器。

触发[……]

继续阅读

转载:解决php的simplexml_load_string()方法问题

今天遇到了这个问题,在网上搜到了前人的blog,转发下来留给自己和其他同行者。侵删。

转自:http://www.th7.cn/Program/php/201604/847665.shtml

今天在部署一个php项目的时候出现一个错误:

报错 call not undefined function Think/simplexml_load_string()

刚开始以为thinkphp环境问题,后来发现不是,将php升级到5.5,甚至下载源码重新编译安装了也不行。网上的说说法是这个方法已经是php5之后的核心内容了,所以没考虑是插件问题。折腾了一宿都没解决。最后在看一篇文章的时候找到了灵[……]

继续阅读

一个链接,让你的网站访客直接和你qq聊天

PC

1

<a href="http://wpa.qq.com/msgrd?v=3&uin=260719209&menu=yes" class="qq"></a>

这是qq官方给的,咱csdn底下的链接也是用的这个,但是会跳出来一个qq在线状态的页面,而且貌似需要去wp.qq.com的推广工具里开通一下,这个我有点乱了,试了的朋友可以底下回复我

2

<a href="tencent://message/?uin=你的qq&Menu=yes" class="qq"></a>

这是从网上找到的一个,实践证明可以用,而且不会[……]

继续阅读

thinkcmf套的网站,git之后别的机器pull下来报错

thinkcmf套的网站,git之后别的机器pull下来报错

20170421

目前确定的问题:

1、我的电脑上(wampserver3)可以完美运行,debug也没有报错,但是其他两台电脑(phpstudy)不行

2、首页、网站、app这三个写了查询的都会报错,但是别的页面可以正常打开

20170424

原因猜想:

确实是因为服务器环境,在本机上,从wampserver换到phpstudy就不能用了,应该是创建模板时出的问题,但是还不知道是啥问题。。就是发现目录结构有点乱,我决定重新再phpstudy的发布目录下重新安装thinkcmfx,然后把db.php还有控制器视[……]

继续阅读