php

更新日期: 2016-05-20 阅读次数: 4166 分类: PHP

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

没啥特别之处

教程及参考

爱评论不评论

近期节日

2019年08月23日 处暑
2019年09月03日 抗日胜利纪念日
2019年09月08日 白露
2019年09月08日 国际扫盲日
2019年09月10日 教师节
2019年09月13日 中秋节
2019年09月16日 国际臭氧层保护日
2019年09月16日 世界清洁地球日
2019年09月18日 "九一八"事变纪念日
2019年09月20日 国际爱牙日
2019年09月21日 国际和平日
2019年09月22日 世界无车日
查看更多节日