whoru

学习、分享、交流、沉淀

⚠️ 注意:

  1. 如果你是 macOS 系统,默认安装的是 python2.x 版本,只需执行 sudo easy_install pip 即可。

  2. 如果你是 macOS 下使用 brew install python3 安装的 python3,则 pip 已经安装。

  3. 如果你安装了 virtualenv 或 pyvenv ,则 pip 也已经安装。

1. 安装

官方推荐的安装方式是通过 get-pip.py 安装,详见这里

  1. 下载 get-pip.py

    1
    ➜  curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
  2. 安装 pip

    1
    2
    3
    4
    5
    6
    7
    8
    # python2 --> pip
    # -V 是 --version 的简写
    ➜ python get-pip.py
    ➜ pip -V

    # python3 --> pip3
    ➜ python3 get-pip.py
    ➜ pip3 -V
阅读全文 »

PSR(PHP Standards Recommendation) 是由 PHP FIG 组织制定的 PHP 规范,是 PHP 开发的实践标准。

由于标准在不断制定,本文主要介绍 PSR-1、PSR-2、PSR-3、PSR-4的一些主要细节,后面逐步更新所有标准。

阅读全文 »

🔗 关于 Composer 的详细安装使用,详见之前的文章:在 PHP 中安装、使用 Composer 包管理工具

Composer 在国内不管是更新还是安装都有一个「慢」的问题,有的时候真的很煎熬。

因此我们一般会替换为 Packagist / Composer 中国全量镜像,然而在使用过程发现,这个镜像并不稳定,有时候也会挂掉,所以本文介绍另外两种加速 composer 的方式。

阅读全文 »

Composer 是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。

0. 相关资源及概述

  • Composer官网 https://getcomposer.org

  • Composer Github 地址 https://github.com/composer/composer

  • Composer中国镜像 http://www.phpcomposer.com

  • 阿里云全量镜像(👍 推荐):https://developer.aliyun.com/composer

  • Packagist

    官网:https://packagist.org

    它是 Composer 主要的一个包信息存储库,包开发者将具体代码托管到 Github 上,将包信息提交到 Packagist 上,这样使用者就可以通过 Composer 去使用。它的执行顺序如下:

    • 首先,Composer 根据本地定义的 composer.json 信息去查询 Packagist;
    • 其次,Packagist 根据 composer.json/package.json 信息解析,最终对应到Github 仓库;
    • 最后,Composer 基于 Github 仓库上的 composer.json 下载代码到本地。
  • composer.json

    这是 Composer 的核心,主要用来配置 Composer 的执行规则。

  • 自动加载

    Composer 基于 PHP 命名空间和 PSR-4 标准开发、集成了一个自动加载器。

阅读全文 »

1. 所有可用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
➜ which php
/usr/bin/php
➜ php -h
Usage: php [options] [-f] <file> [--] [args...]
php [options] -r <code> [--] [args...]
php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...]
php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]
php [options] -S <addr>:<port> [-t docroot]
php [options] -- [args...]
php [options] -a

-a 以交互式shell模式运行
-c <path>|<file> 在此目录中查找php.ini文件
-n 指定不使用php.ini文件
-d foo[=bar] 定义一个INI实体,key为foo,value为'bar'
-e 为调试和分析生成扩展信息
-f <file> 解释和执行文件
-h 打印当前帮助信息
-i 显示PHP的基本信息
-l 进行语法检查 (lint)
-m 显示编译到内核的模块
-r <code> 运行PHP代码,不需要使用标签 <?..?>
-B <begin_code> 在处理输入之前先执行PHP代码
-R <code> 对输入的每一行作为PHP代码运行
-F <file> 解释执行文件 <file> 中的代码
-E <end_code> 在处理输入之后执行PHP代码
-H 从外部工具隐藏传递过的参数
-S <addr>:<port> 运行内建的web服务器
-t <docroot> 指定用于内建web服务器的文档根目录
-s 输出HTML语法高亮的源码
-v 输出PHP的版本号
-w 输出去掉注释和空格的源码
-z <file> 载入Zend扩展文件

args... 传递给要运行的脚本的参数。当第一个参数以-开始或者是脚本是从标准输入读取的时候,使用--参数

--ini 显示PHP的配置文件名

--rf <name> 显示关于函数 <name> 的信息
--rc <name> 显示关于类 <name> 的信息
--re <name> 显示关于扩展 <name> 的信息
--rz <name> 显示关于Zend扩展 <name> 的信息
--ri <name> 显示扩展 <name> 的配置信息
阅读全文 »