Windows安装composer的方法
使用安装程序
这是将 Composer 安装在你机器上的最简单的方法。
下载并且运行 Composer-Setup.exe,它将安装最新版本的 Composer ,并设置好系统的环境变量,因此你可以在任何目录下直接使用 composer
命令。 Continue reading
使用安装程序
这是将 Composer 安装在你机器上的最简单的方法。
下载并且运行 Composer-Setup.exe,它将安装最新版本的 Composer ,并设置好系统的环境变量,因此你可以在任何目录下直接使用 composer
命令。 Continue reading
通过窗口修改过环境变量后,运行cmd窗口,输入:
0 1 2 |
C:\Users\username>set PATH=mrdede C:\Users\username>echo %PATH% mrdede |
关闭cmd窗口,再次运行cmd窗口,测试:
0 |
C:\Users\username>echo %PATH% |
看输出结果即是已更新的环境变量了。
永久设置与临时设置环境变量
使用set进行环境变量设置时,只对当前对话框程序有效。当cmd设置对话框关闭时,环境变量复原。如:
set PATH=%PATH%;C:\Program Files\
永久修改系统环境变量。使用setx 。如:
setx PATH "%PATH%;C:\Program Files\" /M
一、环境变量的作用: Continue reading
关键词 “必须”(“MUST”)、“一定不可/一定不能”(“MUST NOT”)、“需要”(“REQUIRED”)、 “将会”(“SHALL”)、“不会”(“SHALL NOT”)、“应该”(“SHOULD”)、“不该”(“SHOULD NOT”)、 “推荐”(“RECOMMENDED”)、“可以”(“MAY”)和”可选“(“OPTIONAL”)的详细描述可参见 [RFC 2119][] 。
本 PSR 是关于由文件路径 [自动载入][http://tools.ietf.org/html/rfc2119] 对应类的相关规范, 本规范是可互操作的,可以作为任一自动载入规范的补充,其中包括 PSR-0,此外, 本 PSR 还包括自动载入的类对应的文件存放路径规范。
class
类、接口、traits
可复用代码块以及其它类似结构。
0 |
\<命名空间>(\<子命名空间>)*\<类名> |
ii. 完整的类名 可以 有一个或多个子命名空间;
iii. 完整的类名 必须 有一个最终的类名;
iv. 完整的类名中任意一部分中的下滑线都是没有特殊含义的;
v. 完整的类名 可以 由任意大小写字母组成;
vi. 所有类名都 必须 是大小写敏感的。
3.当根据完整的类名载入相应的文件…… Continue reading
Java有Maven, Node.js有npm, ROR有gem, 这些语言的程序员在开心地使用包管理工具加速开发效率时,PHPer们还在复制粘贴的黑暗中。PHP在Composer之前,包管理的历史不堪回首。
在相当长的一段时间内,如果应用依赖于第三方库,PHPer需要拷贝这些库的源代码, 或者通过PEAR、PECL安装。如果第三方库又依赖于更多的第三方库,那么很快就会进入依赖的黑洞。直到Composer出现,PHPer们看到了属于PHP的包管理的曙光。 Continue reading
PHP日志Class,抄来的一个php日志类,略有修改
使用实例
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<?php require_once 'log.php'; //初始化日志 $logHandler= new CLogFileHandler("../logs/".date('Y-m-d')."/".date('Y-m-d-H-i-s').'.log'); // 日志保存位置 $log = Log::Init($logHandler, 15); // 测试数据 $arr = array('s1'=>2, 's3'=>8); // 测试一 Log::DEBUG("query:" . json_encode($arr)); Log::DEBUG("SUCCESS"); // 测试二 Log::INFO("query:" . json_encode($arr)); Log::INFO("支付成功"); // 测试三 Log::WARN("query:" . json_encode($arr)); Log::WARN("支付出错"); // 测试四 Log::ERROR("query:" . json_encode($arr)); Log::ERROR('程序出错'); |
PHP日志类 Continue reading
一、把所有二级域名301重定向到一级域名上,如:把1.mrdede.com,abc.mrdede.com等重定向到mrdede.com
0 1 2 3 4 5 |
RewriteEngine on ErrorDocument 404 /404.html RewriteCond %{HTTP_HOST} ^(.*).mrdede.com [NC] RewriteRule ^(.*)$ http://mrdede.com [L,R=301] RewriteBase / |
二、所一级域名301重定向到www二级域名上,即把mrdede.com 301重定向到www.mrdede.com
0 1 2 3 4 5 |
RewriteEngine on ErrorDocument 404 /404.html RewriteCond %{HTTP_HOST} ^mrdede\.com [NC] RewriteRule ^(.*)$ http://www.mrdede.com [L,R=301] RewriteBase / |
0 1 2 3 4 5 6 7 8 9 10 11 12 13 |
js页面 //创建节点选择器 var query = wx.createSelectorQuery(); //选择id var that = this; query.select('.every').boundingClientRect(function (rect) { // console.log(rect.width) that.setData({ height: rect.width + 'px' }) }).exec(); wxml页面 <view class='every' style='height:{{height}}'></view> |
实例:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<div class="box-body"> <dl class="tags-box clearfix"> <dt>热门</dt> <dd> {dede:tag row='10' sort='month' getall='1' typeid='2,3,4,6'} <a href="[field:link/]" target="_blank">[field:tag/]</a> {/dede:tag} </dd> </dl> <dl class="tags-box clearfix"> <dt>推荐</dt> <dd> {dede:tag row='10' sort='new' getall='1' typeid='2,3,4,6'} <a href="[field:link/]" target="_blank">[field:tag/]</a> {/dede:tag} </dd> </dl> </div> |
修改文件 /include/taglib/tag.lib.php 约第66行
把
0 |
$addsql = " WHERE typeid='$typeid' "; |
改为
0 |
$addsql = " WHERE typeid IN ($typeid) "; |
说明:在模板中调用时保证getall=’1′,并且typeid的值是使用英文逗号隔开的数字串或单个文章ID即可。
实例: Continue reading
knex.js是bookshelf框架的基础,其核心是query builder。这篇文章参考自Knex.js官网,翻译并总结了该框架的方法。
0 1 2 |
#以PostgreSql为例 sudo npm install knex --save sudo npm install pg --save |
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
var knex = require('knex')({ client: 'pg', //指明数据库类型,还可以是mysql,sqlite3等等 connection: { //指明连接参数 host : '127.0.0.1', user : 'DatabaseName', password : 'password', database : 'example' }, debug: true, //指明是否开启debug模式,默认为true表示开启 pool: { //指明数据库连接池的大小,默认为{min: 2, max: 10} min: 0, max: 7, }, acquireConnectionTimeout: 10000, //指明连接计时器大小,默认为60000ms migrations: { tableName: 'migrations' //数据库迁移,可选 } }); |
把数据库类型和连接相关的参数配置好之后,才可以正确的连接到数据库,connection的信息可以写到config文件中。
knex框架的方法大致分为几类: Continue reading