Switch language
zh
Switch theme
Light
  • tp5-0-中的-volist-中的循环变量-$i

    // 输出循环变量: {volist name="list" id="vo" key="k" } {$k}.{$vo.name} {/volist} //如果没有指定key属性的话,默认使用循环变量i,例如: {volist name="list" id="vo" } {$i}.{$vo.name} {/volist} -这里的索引是从 1 开始的, 而不是从 0 开始
  • thinkphp5-0-解决跨域

    在 public/index.php 中加入 header("Access-Control-Allow-Origin:*"); header("Access-Control-Allow-Credentials: true"); header("Access-Control-Allow-Methods:GET, POST, OPTIONS, DELETE"); header("Access-Control-Allow-Headers:Request-Timestamp,Access-Token,Refresh-Token,Access-Control-Allow-Origin,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type, Accept-Language, Origin, Accept-Encoding"); if(strtolower($_SERVER['REQUEST_METHOD']) === 'options'){ exit; } 貌似 tp5.1 中路由可以设置允许跨域 Route::get('new/:id', 'News/read') ->ext('html') ->allowCrossDomain();
  • supervisor-unix----tmp-supervisor-sock-no-such-file

    [root@iZm5e09hymnzdmgx3964zgZ etc]# cat -n supervisord.conf | grep /tmp -- 22 [unix_http_server] 23 ;file=/tmp/supervisor.sock ; the path to the socket file 24 file=/var/run/supervisor.sock ; the path to the socket file -- 45 [supervisord] 46 ;logfile=/tmp/supervisord.log ; main log file; default $CWD/supervisord.log 47 logfile=/var/log/supervisord.log ; main log file; default $CWD/supervisord.log -- 50 loglevel=info ; log level; default info; others: debug,warn,trace 51 ;pidfile=/tmp/supervisord.pid ; supervisord pidfile; default supervisord.pid 52 pidfile=/var/run/supervisord.pid ; supervisord pidfile; default supervisord.
  • php中-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/79722997
  • phpoffice---phpword-写入文件不可打开

    使用 phpword 的模板写入字符串时, 最后生成的文件打开失败. 这可能是因为 写入的文件内容没有 做 htmlspecialchars 处理, 而 docx 的 xml 不允许 &, ‘, “, <, > 字符, 这几样需要进行转义处理.
  • php-重写(override,-覆盖)-和-重载(overload)

    重写: 子类继承父类时, 重写了方法 重载: 传统意义上的重载(如java), 指一个类中存在多个同名的方法, 但接收参数不一样, php 不支持这样的写法 php 提供的 overloading(重载), 指的是 动态地创建类属性和方法, 通过 魔术方法 来实现
  • php-图片处理扩展包-intervention-image-在-win-中使用遇到问题

    环境: laravel-admin + laragon 使用 intervention/image 时, 报错 : encodeing format(tmp) is not suppoerted 原因: intervention/image 这个包不与 windows 兼容 临时解决办法: 修改 包文件 AbstractEncoder.php 原文见 github laravel-admin issue
  • PHP-三大设计模式--单例&工厂&注册树

    <?php // 单例模式(三私一公) class Site{ protected static $_instance; protected function __construct(){ return self::$_instance; } protected function __clone(){ } public static function getSingleton(){ if(! (self::$_instance instanceof self)){ self::$_instance = new self(); } return self::$_instance; } } // 工厂模式 class Factory{ public static function create($className){ return $className::getSingleton(); } } // 注册树模式 class Container{ protected static $object = []; public static function set($alias, $obj){ self::$object[$alias] = $obj; } public static function get($alias){ return self::$object[$alias]; } public static function _unset($alias){ unset(self::$object[$alias]); } Container::set('site', Factory::create('Site'));// 把单一对象实例挂到注册树上 $site = Container::get('site');// 从注册树中获取对象
  • 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.
🍀