不间断空格-none-breaking-space-(-u00a0)
从网上复制的一些文本可能含有特殊字符, 不间断空格(unicode 编码为 \u00a0)就是一种, 效果与 ’ ’ 普通空格类似, 但有不同. 不同: 对英文单词间使用普通空格, 会自动换行; 使用不间断空格连接的单词会被认为是一个单词而直接全部换到下一行, 这在 html 也是同样的效果. 在 php 中使用 普通空格替换 不间断空格的方式 $str = "a a a"; $str = str_replace(chr( 194 ) . chr( 160 ), " ", $str); 参考自stackoverflowtp5-1-和-laravel-中的-facade-门面
facade 的作用是把 类(动态)方法 当作 静态方法 使用; 简称 静态代理 <?php class Demo { public function index(){ echo 'hello world'; // echo __METHOD__; } } class DemoFacade { public static function __callStatic($name, $arguments) { $demo = new Demo(); $demo->$name(); } } DemoFacade::index();// hello worldphp中-utf-8-还是-utf8--
utf8、utf-8 和 UTF-8 的区别如下: 一、“UTF-8”这是标准写法,在PHP和HTML中设置编码,统一写成“UTF-8”。 举例: PHP中 —— HTML中 —— 二、“utf8”、“utf-8”和“UTF8”只是在window中不区分大小写的写法而已,一般程序能识别,但也有例外。例如简写的“UTF8”或“utf8”在ie浏览器里不识别。 三、数据库命令模式中,必须写成“utf8”,因为MySQL的命令模式中只能识别“utf8”,比如:PHP程序中可以写: 结论:MySQL操作使用“utf8” 【mysql_query(set names utf8)】,其他一律使用“UTF-8”。 原文见: https://blog.csdn.net/ahjxhy2010/article/details/79722997phpoffice---phpword-写入文件不可打开
使用 phpword 的模板写入字符串时, 最后生成的文件打开失败. 这可能是因为 写入的文件内容没有 做 htmlspecialchars 处理, 而 docx 的 xml 不允许 &, ‘, “, <, > 字符, 这几样需要进行转义处理.php-重写(override,-覆盖)-和-重载(overload)
重写: 子类继承父类时, 重写了方法 重载: 传统意义上的重载(如java), 指一个类中存在多个同名的方法, 但接收参数不一样, php 不支持这样的写法 php 提供的 overloading(重载), 指的是 动态地创建类属性和方法, 通过 魔术方法 来实现php-类方法的连接调用-$this--where()--select()
这种类方法最后都返回了 $this, 从而能连续调用; 至于中间的方法, 通过类属性将值保存起来, 可供后续方法继续使用notes--基于-Composer-的-PHP-模块化开发
笔记来源 overtrue: 基于 Composer 的 PHP 模块化开发 1. what & why composer 是 php 版本的版本控制工具, 如 js 里的 npm, go 里的 mod. 1.1 composer.json 的组成 基础字段 name, description, keywords, license 依赖 require, require-dev 自动加载: autoload, autoload-dev PSR-4 PSR-0 classmate files 其它 scripts, minimum-stability, bin, repositories, support, config 其中, 若是一个项目, name 表示 project name, 若是一个包, name 表示 package name 在没有 composer 之前, 靠人工复制粘贴代码, 存在代码安全及 repeat yourself 的问题 1.2 版本号的组成 Major.Minor.Patch major: 大的功能变更, 不向后兼容 minor: 新增功能, 向后兼容 patch: 补丁, 向后兼容, 修复 bug 1.guzzle-http-post-(json)
$client = new \GuzzleHttp\Client(); $response = $client->post('http://xxx.com/api/login', [ 'json' => [ 'phone' => "152xxxx1234", 'password' => "123456", ] ]); $response = $client->post('http://xxx.com/api/login', [ 'form_params' => [ 'phone' => "152xxxx1234", 'password' => 123456, ] ]); 若使用 json, 则 数组中的值(不论是否数字), 都要用 引号 起来, 而 form_params 则不需要 referenceforeach-中使用-&地址符时,-最后要释放-value
$arr = [1,2,3]; foreach($arr as $key=> &$value){ if ($key){ $value = $value +1; } } unset($value); // 要注意翻译 $value, 否则后面如果还要用到 $value 时, 会指向 $arr 的最后一个元素$_ENV-&-getenv()
php 中 $_ENV & getenv() 获取的是环境变量, 如 windows 中 高级系统设置中的环境变量 或 linux 中 export 设置 getenv() 或 $_ENV 获取的是(系统)环境变量, 而不是 .env 文件. 在默认variables_order = "GPCS" 时, laravel 中使用 $_ENV 不能获取到(系统)环境变量, 但是可以获取到 .env 中的变量, 是因为 laravel 在初始化时使用 phpdotenv 将 .env 中的值添加到 $_ENV 中了. 另外 laravel 中 getenv() 本来就可以获取到(系统)环境变量, 也可以获取到 .env 文件中的设置的环境变量, 是因为 laravel(phpdotenv) 用 putenv() 设置了请求期间内有效的环境变量. ini_set() 配置可修改范围 参考php手册 laravel 初始化 dotenv 参考文章 Laravel ENV—— 环境变量的加载与源码解析
Recent Posts
Tags
- apache 4
- axios 1
- benchmark 1
- c 1
- canvas 1
- centos 3
- channel 1
- crontab 1
- css 2
- docker 4
- fail2ban 1
- frp 1
- gin 1
- github 1
- go 26
- goaccess 1
- goroutine 1
- http 1
- https 1
- jetbrains 1
- jquery 1
- js 2
- linux 20
- mermaid 1
- mysql 10
- nginx 3
- node 1
- php 43
- prisma 1
- react 8
- server 1
- ssh 2
- tarojs 1
- tcp/ip 1
- token 1
- ubuntu 1
- ufw 1
- unit-test 1
- vmware 1
- vscode 1
- vue 12
- yum 1
- 域名 3
- 安全 2
- 微信 3
- 算法 3