Archive for 五月 2012

MyEclipse 10.0插件在线安装方法

装了MyEclipse 10.0,想装个插件,却发现Help菜单下没有Install New Software...。最后发现,MyEclipse作了些修改,安装插件方法跟原版的Eclipse有些不同。
点Help->MyEclipse Configuration Center,再点击Software选项卡,在左边的搜索插件输入框右边,有Add Site链接,在这添加插件安装地址。添加后,可以在下面的Personal Sites里看到,展开,双击要安装的项,右边的Pending Changes框内会有 Apply XXX Changes按钮,点击即可安装。

Flot与IE浏览器的兼容性问题

Flot是jQuery的一个图表插件,可以很方便地用来绘制折线图。最新版的Flot是支持IE的,只是在使用时额外导入一个js文件。


<!--[if lte IE 8]><script language="javascript" type="text/javascript" src="../flot/excanvas.min.js"></script><![endif]-->

另外,在定义数组时,最后一个元素后面不能加逗号,加了逗号在其他浏览器显示正常,但IE就有问题。包括在json中和javascript代码中。

ThinkPHP 用户登录的处理(session和select连贯操作)

用户登录,主要用到了session方法和CURD中select方法的连贯操作。


$user=D("User");
$password=md5($_POST['password']);
$username=addslashes($_POST['username']);
$login=$user->where("username='$username' and password='$password'")->select();
if($login!=null)
{
	session("user",$login);
	echo "登录成功";
	dump(session("user"));
}

ThinkPHP 显示最后一条执行的SQL语句

在Mode类中,有个getLastSql()方法,可以显示执行的最后一条SQL语句,方便调试。

PHP 命名空间中的类访问系统自带类或其他命名空间的类

都是基础不扎实惹的祸,这问题也困扰了半小时。
我的类在libs命名空间中,需要使用系统自带的DateTime类,但Eclipse提示找不到DateTime类,运行后报找不到libs\DateTime类,说明PHP是在当前命名空间中找的。
解决方法:


$startTime = new \DateTime($start);

在DateTime前加\,即在系统最底层的命名空间查找。访问外部命名空间方法:


$a = new subnamespace\foo();

Mysql 存储过程中limit关键字使用参数的解决方法

limit关键字后不能带参数,但还是有解决方法:使用PREPARE。


set @dd=concat('select * from temp limit ',startPoint,',',pageMax);
PREPARE stmt1 FROM @dd;
EXECUTE stmt1;
deallocate prepare stmt1;

concat方法是将字符串连接,即在这里生成SQL语句。

ThinkPHP 3.0数据库的配置

数据库配置在APP_PATH下的config目录下的config.php中:


return array (
		'DB_TYPE' => 'mysql',
		'DB_HOST'=>'localhost',
		'DB_NAME' =>'college',
		'DB_USER'=>'root',
		'DB_PWD'=>'',
		'DB_PREFIX'=>'',
);

需要注意的是,BD_PREFIX,是表前缀,必须配置,否则默认为think,找不到表。有时候,配置了上面的信息不起作用,比如说,我明明配置了DB_PREFIX为空,但是dump Mode发现还是有默认的think_前缀,这是因为有缓存,把Runtime目录清空再试。

ThinkPHP 3.0开启Trace信息和Debug模式

到了3.0版本,默认情况下,即使打开debug模式,也不会显示Trace信息.另外,开启Debug模式方法有些变化。
开启Debug方法,在入口文件中定义常量


define('APP_DEBUG',true);

2.0好像是在config.php文件中.
开启Trace信息方法,在APP_PATH下的config目录中的config.php文件中,给返回的数组增加一个元素:


'SHOW_PAGE_TRACE' =>true