贴心的PHP:内置常量

用各语言做网站的同学,经常遇到的一个问题就是在不同操作系统下路径格式不同。有的必须用“\”,有的必须用“\\”,用的得用“/”之类的。如果我们的开发机和生产环境不是同一种操作系统,总是会遇到麻烦。

但PHP居然贴心的准备了两个内置常量,DIRECTORY_SEPARATOR与PATH_SEPARATOR。

用法很简单。

<?php
$path = join(DIRECTORY_SEPARATOR, array('root', 'lib', 'file.php');
?>

或者

<?php
require 'webroot' . DIRECTORY_SEPARATOR . 'index.php';
?>

之后PHP会自动的根据运行的系统将DIRECTORY_SEPARATOR替换成适当的符号。

但是有的同学说了,如果每次都要敲出这么长的一个常量好烦啊。那么我们可以这么做。Best Practice from CAKEPHP。

<?php
/**
 * Use the DS to separate the directories in other defines
 */
if (!defined('DS')) {
    define('DS', DIRECTORY_SEPARATOR);
}
?>

然后在地方就可以这样写了。

<?php
require 'webroot' . DS . 'index.php';
?>

Salesforce的Auto Number

在Salesforce中新建Object的时候,可以对Name选择Auto Number,即自动编号。如果没有仔细阅读说明的话,会有一个很容易让人迷惑的地方。

在选择时候,Salesforce提供的示例为 示例:  A-{0000}。

那么问题来了,假设我如示例一样设定了4个0,那么当我的数据编号已经到达了A-9999会怎么样呢?

真实情况是,什么都不会发生,A-10000会被正常创建,A-10001也会被正常创建。

原因是这样的,A-{0000}的意思,是至少要有4位数字,不足则补零。例如,第99条数据的Name为A-0099。就是说,这个格式只是用来标注补零的位数的。。。不是用来限制编号最大位的。。。

然后,在设定是还可以输入开始数字,假设我设定从99999开始呢? 还是没关系。但如果设定的开始数字为1,000,000,000以上,则会告诉你,不能大于这个数。

OK,那我设为999,999,999。接下来创建数据会怎样呢?

没错,A-1000000000会被正常创建,在建一条,A-1000000001也出来了。。。。。。

所以不用担心编号用光的事情了。200多位。。。我觉得有生之前都不一定用得没了。。

如何在Windows下安装Composer

首先,没有那么复杂。参考这里

0. 确保PHP安装正确。验证方式为在CMD里执行php -v,如果看到了版本信息,继续。

1.下载composer.phar,然后放到PHP的安装目录里。与php.exe平级即可。

2.在此路径下新建一个脚本文件,叫做composer.bat。内容为

@php "%~dp0composer.phar" %*

3.重新打开一个CMD,执行composer –version,如果看到版本信息,打完收工。

// Update 20160812

其实Windows下直接就有安装包。。。尴尬。

// Update 20160812 2

下面代码可以解决获取package龟速的问题。供应商官网


composer config -g repo.packagist composer https://packagist.phpcomposer.com

全宇宙最好用的IDE——的弟弟 VS Code

虽然VS已经开放社区版(免费版),但由于有限的内存和CPU,始终呆在Eclipse阵营。Eclipse也不负众望,胜任了我大部分的开发工作。

但是有的时候,还是觉得Eclipse太重了。转而去用文本编辑工具,比如Notepad++,又觉得太轻了。因为有多种编程语言的语法高亮,检查,提示和代码块插入的需求,尤其是Apex(Salesforce的开发语言,类似于Java),因为还是很小众,所以很难找到良好的第三方支持插件。而目前官方的Salesforce Eclipse插件的功能又是那么的不堪。我坚信Salesforce对于开发者是不重视的,甚至是有仇的。

VS Code刚诞生,版本只是0.1的时候就开始迫不及待的使用了。目前版本已经到达1.4,并且各路插件功能趋于稳定。活跃的插件社区保证了我对各种语言的需求。并且这个IDE在功能满足我所有需求的同时仍然保持足够的轻。

如果对目前使用的IDE感到重的喘不过气的话,不妨试一试吧。