admin 发布的文章

php流程控制优化

1:switch...case....(会生成跳转【索引表】表,直接跳转到case)

  • switch($var)后面的控制表达式的数据类型只能是整形,浮点型或者字符串
  • switch的执行步骤,效率高一些

2:如何优化多个if...elseif语句的情况

  • 把可能性的大的往前放
  • 如果判断的内容比较复杂,且判断的值是整形,浮点型或者字符串,就可以使用switch,提升效率

php运算符

1:运算符的优先级:

  • 递增递减>!>算术>大小比较>
  • (不)相等比较>引用>位运算(^)>位运算(|)>
  • 逻辑与>逻辑或>三目>赋值>
  • and>xor>or
  • 括号的使用可以增加代码可读性,推荐使用

2:比较运算符:

  • ==和===的区别
  • 等值判断(false的七种情况都是相等的)

3:递增、递减运算符:

  • 不影响布尔值
  • 递减NULL值没有效果,递增会加1
  • 递增和递减在前就先运算后返回,反之就先返回后运算

4:逻辑运算符:

  • 短路作用(前面的都正确了,后面就不用执行了

    $a = true || $b == 3
    $b = false && $a ==1

  • ||和&&与or和and的优先级不同

    会导致其结果也不同
    $a = false || true; $a = true;
    $a = false or true; $a = false;

php数据类型

1:浮点类型 不能运用到比较运算中(不能用于相等的判断中)

    $a = 0.1; $b = 0.7;
    if($a + $b == 0.8){
    false =0.7999(二进制,会有损耗)
    }

2:布尔类型 false的七种情况

    0, 0.0, '', '0', false, array(), NULL
    整型0,浮点0.0,空字符串,0字符串,布尔false,空数组,NULL

3:NULL

    直接赋值为NULL、未定义的变量、unset销毁的变量

Linux进程管理相关

1:进程管理

  • 进程:正在运行的程序或命令
  • 作用:

    判断服务器健康状态(最重要)
    查看系统中所有进程
    杀死进程  
    

2:相关命令

  • ps和pstree(进程树)
    ps aux 查看系统中所有进程
    ps -le
  • top
    缓冲是为了加速写入(buffers)
    缓存是为了加速读取 (cached)

Vagrant配置相关lamp&lnmp

1: vagrant box 常用命令

  • vagrant box list 查看目前已有的box
  • vagrant box add 新增加一个box
  • vagrant box remove 删除指定box

2:vagrant 虚拟机常用命令(建议每个新环境都单独新建一个目录)

  • vagrant init {box的name} 初始化配置vagrantfile
  • vagrant up 启动虚拟机
  • vagrant ssh 登陆虚拟机
  • vagrant suspend 挂起虚拟机
  • vagrant reload 重启虚拟机
  • vagrant halt 关闭虚拟机
  • vagrant status 查看虚拟机状态
  • vagrant destroy 删除虚拟机

3:ubuntu系统环境下操作以下步骤

Nginx

Apache

停掉nginx: sudo /etc/init.d/nginx stop

4:更改端口兼容nginx和apache2同时开启

  • 更改apache端口,将端口设置为8888
  • cd /etc/apache2
  • sudo vim ports.conf
  • liten 8888
  • ps -ef | grep nginx
  • ps -ef | grep apache2
  • 测试nginx: curl -I 'http://127.0.0.1'
  • 测试apache2: curl -I 'http://127.0.0.1:8888'

5:浏览器访问

  • 先挂起虚拟机,运行状态不能使用这个功能
  • 选中虚拟机
  • 设置
  • 网络
  • 高级
  • 端口转发
  • 右上角添加: 8888->80nginx; 8889->8888apache
  • 每次重启需重新配置

测试:http://127.0.0.1:8888/
http://127.0.0.1:8889/

6:vagrant高级知识

1:端口转发;2:共享目录;3:网络配置
config.vm.network "forwarded_port", guest: 80, host: 8888
config.vm.network "forwarded_port", guest: 8888, host: 8889
config.vm.synced_folder "/Users/mac/Documents", "/home/www",:nfs=>true
config.vm.network "private_network", ip: "192.168.199.101"

参考: