LiBenkuo / blog

用Issues写Blog
1 stars 0 forks source link

PHP #7

Open LiBenkuo opened 8 years ago

LiBenkuo commented 8 years ago

OpenSSL

安装

  1. 进入PHP的openssl扩展模块目录
$ cd php-5.5.7/ext/openssl/

2.

$ /var/www/php5/bin/phpize 

这里为你自己的phpize路径

如果找不到,'find'

执行后,发现错误'无法找到config.m4'

config0.m4就是config.m4。直接重命名

`$ mv config0.m4 config.m4``

$ /var/www/php5/bin/phpize

3.

$ ./configure --with-openssl --with-php-config=/var/www/php5/bin/php-config

编译时总是出错 原因如下:

  1. 确认安装了 a. yum list openssl 如果没有安装之 yum install openssl b. yum list openssl-devel 如果没有安装之 yum install openssl-devel
  2. 修改路径为 /usr/sbin 或者 /usr/include/openssl
  3. 去掉路径 直接 –with-openssl
$ make
$ make install

安装完成后,会返回一个.so文件(openssl.so)的目录

在此目录下把openssl.so 文件拷贝到你在php.ini 中指定的 extension_dir 下(在php.ini文件中查找:extension_dir =)

编辑php.ini文件,在文件最后添加

extension=openssl.so

5. 重启Apache即可

$ /usr/local/apache2/bin/apachectl restart
LiBenkuo commented 8 years ago

Syntactic Sugar

array() <=> [ ]

Complex (curly) syntax

LiBenkuo commented 8 years ago

Namespace

Using namespaces: fallback to global function/constant

从广义上来说,命名空间是一种封装事物的方法。

在PHP中,命名空间用来解决在编写类库应用程序时创建可重用的代码(类、函数)时碰到的两类问题:

  1. 用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。
  2. 为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高可读性。

PHP命名空间提供了一种将相关的类、函数和常量组合到一起的途径。

名为PHP或php的命名空间,以及以这些名字开头的命名空间(如PHP\Classes)被保留用作语言内核使用,而不应该在用户的代码中使用。

LiBenkuo commented 8 years ago

static

static 方法引起缓存

LiBenkuo commented 8 years ago

PSR -- PHP Standards Recommendations

Reference

  1. PHP-FIG
  2. 中文版
  3. Google Style Guide
  4. PHP-FIG 中文版