PHP是世界上最好的语言:

  1. 学习零成本,上手分分钟
  2. 容错性高,if里面写break也能快乐的跑

工程经验分享

  • php主要负责提供个页面给浏览器,会用到html和js,如果内嵌,根据业务考虑封装部分方法,比如表格生成,然后解耦差异化的内容,比如script,多层的header
  • array和lua的table很像,很多地方可以精简代码,比如可以foreach(key=>val)来复制不定字符串的字典
  • code review!!!不然过了一天你就不知道你写了什么鬼

快速安装开发环境

  • 登陆腾讯云控制台,重装lamp镜像
  • locate index.html,找到默认配置的,改成自己的index.php即可
    1
    2
    3
    <?php
    echo .date("Y-m-d H-i-s");
    ?>

运行方式

  1. .php
    php hello.php
  2. 命令行

    1
    2
    3
    #!/usr/bin/php
    <?php
    ?>
  3. 交互模式

    1
    php -a

基础语法

  • include错误warning,require错误fatal
  • 简单的字符串用单引号,双引号会发生转义
  • 布尔转字符串,TRUE-》1,FALSE-》0
  • 变量;常量bu带$,变量带$$
  • 循环

    1
    2
    3
    4
    5
    6
    <?php
    $a = array("S"=>"xMxD","P"=>"vMvD");
    foreach($a as $k=>$value){

    }
    ?>
  • break n: 结束n个层级循环

内置方法

  • date()
  • strtotime
  • if($_POST[sub])
  • if(isset($_GET[pwd]), $_SESSION[pwd]
  • is_uploaded_file/move_uploaded_file

string

  • substr/explode,implode/str_replace/ltrim,rtrim/strrev/strtolower,strtoupper/
  • 正则:preg_match
  • 新型字符串

html

htmllentitles()/unhtml()/urlencode()/urldecode/

SQL

  • SQL是php的大坑,优化方法有二:
    1. 整合SQL请求(100s->10s)
    2. 分离SQL请求(LIMIT分离,多线程)(10s->3s)
1
2
3
4
5
6
$conn = mysql_connect("localhost", "root", "111")
mysql_select_db("xxx", $conn)
$rs = mysql_query("select * from db")
while($rst = mysql_fetch_array($rs)){
// for $rst
}

路由

  • 因为是为了写内部监控页面,_GET,_POST读取,form的html方法跳转就好了。。