分类 PHP 下的文章

php里面,我曾经也一直认为是2个字节,在学习的过程中,根本没有对字符编码这个玩意进行过了解,在前段时间也看到了其它人说是2个字节,但是使用strlen()或mb_strlen()检查一个汉字所占的大小,是3位!!!

如果这个时候使用substr()或mb_substr()切割汉字的话必定会出现乱码,这个时候你就需要了解到unicode了

      • -

英文字母:

  • 编码: GB2312, 字节数: 1
  • 编码: GBK, 字节数: 1
  • 编码: ISO-8859-1, 字节数: 1
  • 编码: UTF-8, 字节数: 1
  • 编码: UTF-16, 字节数: 4

中文汉字:

  • 编码: GB2312, 字节数: 2
  • 编码: GBK, 字节数: 2
  • 编码: ISO-8859-1, 字节数: 1
  • 编码: UTF-8, 字节数: 3
  • 编码: UTF-16, 字节数: 4
      • -

面试出个字符编码的题完全可以呀,感觉面试难度又提高了一截。

unicode这个业界标准好呀,基本上现在所使用的环境中都存在unicode,把世界上大部分的语言文字整理编码出来,电脑可以更简单的呈现和处理文字,大家不用烦恼自己看到的是乱码而厌烦了,文字以原始的方式显示

最新版本的unicode是2017年6月20号10.0.0

      • -
        参考资料:
  1. http://www.unicode.org
  2. http://www.unicode.org/standard/WhatIsUnicode.html
  3. https://zh.wikipedia.org/wiki/Unicode

正式版v1.2发布,新增掉线重连(服务器挂了那是没有办法的?‍♂️)

注: 需要安装swoole扩展

在公司闲着了好长时间,现在就是没事在找事做,真鸡儿刺激

用了两天搞了这个(抄)?QQ聊天应用

做起来难度不大,利用现有的swoole扩展可以快速构建出一个开袋即食的IM应用,自己所需要做的是相应的逻辑处理与权限管理

我在这里还使用了identicon来做随机头像,想着大家进来还打个鸡毛的账号呀,直接名字搞起,飞机火箭刷起来

ps:不清楚identicon的可以看看identicon wiki

      • -

如果你非要说和QQ一样,我能怎么办,我tm就是抄的QQ #滑稽

聊天室首页

添加可耐的颜表情(●'◡'●)让聊天更具趣味性(我才不是死肥宅)

添加可耐的颜表情(●'◡'●)

还特意为大(hao)佬(shi)们(zhe)人性化的添加了斗图模式,看我是不是很爱你们

斗图莫斯

      • -

这是一个最基础的聊天室程序了,识别性,趣味性,都有具备,具体的怎么开发看你们的了,我把项目地址甩在下面

演示地址: http://chat.flxxyz.com

github: https://github.com/flxxyz/php-chat-websocket

到当前的 Homestead 目录下,打开 Homestead.yml ,然后你懂的

site: 下,按一下格式添加站点

- map: homestead.app           // 站点域名
  to: /home/vagrant/Code/Laravel/public    //站点目录

有需要的话,可以在 folders: 下,添加共享目录,方便本地编辑,虚拟机实时读取了

- map: E:\Work\virtualBox\homestead\site   // windows用户是用这种路径
  to: /home/vagrant/Code/site              // 开启共享目录之后,虚拟机会存在的目录

拜拜ヾ(•ω•`)o

看到这种提示首先去检查自己的配置信息是否填写正确

step 1
检查根目录下的 .env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=root

填写完毕.


stap 2
检查 config 目录下的 database.php

'mysql' => [
    'driver' => 'mysql',
    'host' => env('DB_HOST', '127.0.0.1'),
    'port' => env('DB_PORT', '3306'),
    'database' => env('DB_DATABASE', 'laravel'),
    'username' => env('DB_USERNAME', 'root'),
    'password' => env('DB_PASSWORD', 'root'),
    'unix_socket' => env('DB_SOCKET', ''),
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    'strict' => true,
    'engine' => null,
]

填写上数据库名,用户名,密码


关闭服务,再开启
不成功的话,你需要把配置的缓存清理掉,再开启服务

php artisan config:clear
php artisan serve

学习的过程中,发现ORM的存进数据库的时间戳,再取出时,是本地时间相差了少了八个小时

在 getDateFormat() 函数中,设置 date_default_timezone_set('PRC'); 与 ini_set('date.timezone', 'Asia/Shanghai'); 均无效

查看手册知晓,在 config/app.php 里的 'timezone' 参数

'timezone' => 'PRC' // 或者 Asia/Shanghai ,时区设置成我大天朝就好了

composer是php的依赖管理工具,与前端的npm包管理差不多

今天就是来 在linux上如何安装composer(windows的一路下一步,没毛病)

setp0

检查一下php版本号,可以显示版本号才能继续下面的操作

php -v

setp1

首先准备好composer-setup.php

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

setp2

在 shell 界面输入(如要全局安装请加上 --install-dir=bin --filename=composer)全局安装可以忽略后面所有操作

php composer-setup.php

setp3

这步操作对普通用户使用都有效,当然root也可以

mv composer.phar /usr/local/bin/composer

setp4

这个时候就可以查看你的composer版本号了

composer -v