Hello World
新建一个 index.php 文件
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php echo '<p>Hello World</p>'; ?>
</body>
</html>
使用 PHP 内置 web server 进行本地开发调试
只需要在代码目录执行
php -S localhost:8000
即可在浏览器里看到首页内容了。参考 Built-in web server
生产环境配置
新增一个 nginx 配置文件 php-firefly.conf
server {
listen 80;
#listen [::]:80 default_server;
root /Users/zhongwei/work/php-firefly/src;
index index.html index.php;
server_name localhost;
location ~ \.php$ {
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
}
}
php-fpm 的配置文件对应的更新成
listen = /var/run/php5-fpm.sock;
如果遇到访问 http://localhost 返回空页面,并且nginx,php-fpm 都没有对应的错误日志时,参考
nginx + php5-fpm doesn't work properly. I see a white screen only - Unix & Linux Stack Exchange
在 nginx 的 fastcgi_params 文件里增加一行
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
即可
PHP里的双冒号 :: 范围解析操作符与箭头 -> 操作符 在应用上的区别在哪里?
双冒号一般是用在静态方法、静态变量的调用,此时类不需要实例化。而是用箭头操作符- > 时,必须要将类进行实例化(或者在类的内部调用也可以。)
array
php 的 array,不同于我之前接触的其他语言的 array,例如,c 和 js。php 的 array 更像一个万能收纳盒,啥都可以放,怎么放都行。过于灵活,当然这里是贬义。她兼具了 python 的 list 和 dict 的功能,所以称之为 array 具有极大的诱导性。
我感觉将其按照 python 的 list 和 dict 来分别理解更容易消化吸收。
作为 list
初始化
$arr = array(1, 2, 3);
虽然 php 5.4 之后支持了 [], 但是,为了兼容性,还是用 array 比较省心,何况我使用了 vim snippets, 对我来说没有任何负担。
Append item
$arr[] = 1;
这个语法非常怪异,可读性为0,差评。
Del item
unset($arr[0]);
需要注意的是,unset 之后,array items 的 index 并不会重排。
作为 dict
没啥特别之处
教程及参考
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式