不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2016-02-18 23:11  分类:PHP库/系统/微信  编辑

大部分PHP框架中,为了防止一个类被重复实例化,往往采用“单例模式”实例化类。我们的项目框架是这样做的:

先写好一个基类 /framework/Base.class.php,内容如下:

<?php
namespace framework;

defined('SITE_PATH') or die('Access Denied');

/**
 * 业务基类
 *
 * @package framework
 */
class Base {
	/**
	 * 类实例化(单例模式)
	 *
	 * @return mixed
	 * @throws Exception
	 */
	public static function instance() {
		static $_instance = array();

		$classFullName = get_called_class();
		if (!isset($_instance[$classFullName])) {
			core_load_class($classFullName);
			if (!class_exists($classFullName, false)) {
				throw new Exception('"' . $classFullName . '" was not found !');
			}
			$_instance[$classFullName] = new $classFullName();
		}

		return $_instance[$classFullName];
	}
}
?>
作者:php-note.com  发布于:2016-01-10 15:22  分类:PHP库/系统/微信  编辑

介绍swoole扩展,从源码的下载,环境依赖,编译参数配置,常见编译问题,安装,配置等内容。期间还会介绍:

  • Linux发行版本的选择
  • 不同版本内核的差异
  • gcc/g++/clang 3种编译器介绍
  • autoconf、cmake的介绍
  • ldconfig介绍
  • nm/strip介绍
  • 生成libswoole.so动态链接库
作者:php-note.com  发布于:2015-10-24 19:04  分类:PHP库/系统/微信  编辑

特别喜欢ThinkPHP框架的Model,结合官方手册及源代码查看,汇总出其大体用法:

核心转换方法:

$this->parseWhere($where);
$whereStr .= $this->parseThinkWhere($key, $val);
$this->parseWhereItem($this->parseKey($key), $val);

 

作者:php-note.com  发布于:2015-08-20 10:03  分类:PHP库/系统/微信  编辑
作者:php-note.com  发布于:2015-08-19 23:31  分类:PHP库/系统/微信  编辑

如题,如何用PC机上的Chrome浏览器模拟查看和调试手机HTML5页面?

参考操作步骤如下:

第一步、用Chrome打开要调试的页面;

第二步、按F12,打开“开发者工具”,点击其右上角的“Dock to main window.”按钮,让“开发者工具”停靠在浏览器的“右边”,再点击左上角的“Toggle device mode.”按钮,如下图所示:

chrome-debug-html5-01.png

作者:php-note.com  发布于:2015-08-02 21:35  分类:PHP库/系统/微信  编辑

由于公众平台的特殊形式,用户的消息是通过腾讯服务器直接POST的过来的,服务器是不带Cookie过来的,所以当你想用平时直接设置CookieSession是不行的,Cookie是彻底没戏,Session的问题是 服务器每次过来不带session_id,所有我们也无话读取session文件,解决的办法就是吧用户Post过来的微信名当做sessionid,微信号(openid)是一个唯一不重复的,这样每个用户的状态是可以独立的。

作者:php-note.com  发布于:2015-07-08 23:20  分类:PHP库/系统/微信  编辑

项目中引进了ThinkPHP3.2.3的模型层,发现当SQL语句出错时,系统抛出的异常不是我想要的效果,打开文件 ThinkPHP\Library\Think\Db\Driver.class.php

找到代码:

$result = $this->PDOStatement->execute(); 

当上述PDO语句有异常时(如 SQL语句中数据表不存在),此处就会直接抛出PHP异常,后面的代码不会被执行,页面被中断,这不是我们想要的结果;

作者:php-note.com  发布于:2015-07-06 15:42  分类:PHP库/系统/微信  编辑

找到文件:ThinkPHP\Library\Think\Db\Driver.class.php

找到代码:

// PDO连接参数
protected $options = array(
	PDO::ATTR_CASE => PDO::CASE_LOWER, // 改为 PDO::CASE_NATURAL
	PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
	PDO::ATTR_ORACLE_NULLS => PDO::NULL_NATURAL,
	PDO::ATTR_STRINGIFY_FETCHES => false,
);

把其中的 PDO::CASE_LOWER 改为 PDO::CASE_NATURAL

作者:php-note.com  发布于:2015-06-24 23:11  分类:PHP库/系统/微信  编辑

wechat_redirect_url.png

作者:php-note.com  发布于:2015-05-19 19:44  分类:PHP库/系统/微信  编辑