• PHP的依赖管理工具----composer


    安装Composer

    参考:https://getcomposer.org/doc/01-basic-usage.md

    • composer 是PHP依赖管理工具

    • PHP最低版本要求5.3.2,需要允许openssl扩展,编译时加参数--with-openssl
      搬瓦工下编译参数(小于1G内存要禁用fileinfo,否则会编译失败)

        ./configure 
        --prefix=/usr/local/php 
        --with-mysql=mysqlnd 
        --with-mysqli=mysqlnd 
        --enable-short-tags 
        --disable-posix 
        --with-config-file-path=/usr/local/php/etc 
        --with-config-file-scan-dir=/usr/local/php/etc/conf.d 
        --enable-ftp 
        --with-curl=/usr 
        --with-zlib 
        --enable-xml 
        --with-gd 
        --with-jpeg-dir=/usr/lib 
        --with-png-dir=/usr/lib 
        --with-freetype-dir=/usr/lib 
        --enable-mbstring 
        --enable-sockets 
        --enable-exif 
        --enable-fpm 
        --with-openssl 
        --enable-zip 
        --with-mcrypt 
        --disable-fileinfo

      安装mcrypt扩展时需要系统先安装相关的库
      yum install libmcrypt libmcrypt-devel

    • 执行在线安装脚本

        curl -sS https://getcomposer.org/installer | php

      执行结果如下:

            >  #!/usr/bin/env php
            All settings correct for using Composer
            Downloading...
            >
            >Composer successfully installed to: /root/composer.phar
            >Use it: php composer.phar

      移动到path目录

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

      然后可以用composer来安装了

    • 安装依赖
      创建一个composer.json文件,写入相应的包名和版本号,如

      {
        "require": {
            "monolog/monolog": "1.0.*"
        }
      }

      执行 composer install,就进入自动安装,安装完成后会生成一个composer.lock文件,里面是特定的版本号名,需要这个文件和composer.json一起提交到版本管理里去。

    • 更新依赖
      composer update
      如果只想更新部分依赖
      composer update monolog/monolog

    • Composer 在线仓库 Packagist

    • 自动加载
      require 'vendor/autoload.php';
      然后在php中这样使用:

            $log = new MonologLogger('name');
            $log->pushHandler(new MonologHandlerStreamHandler('app.log', MonologLogger::WARNING));
      
            $log->addWarning('Foo');

      你甚至可以把你自己的代码加入自动加载中,如

    {
        "autoload": {
            "psr-4": {"Acme\": "src/"}
        }
    }

    这时src/Foo.php将注册为 AcmeFoo 类,加入上面的内容后,你必须运行composer dump-autoload重新生成autoload.php文件,require之后将返回一个loader实例。可以加入其他命名空间,在测试中很有用。

    $loader = require 'vendor/autoload.php';
    $loader->add('Acme\Test\', __DIR__);

    Laravel

    安装laravel

    有两种方式

    1. 通过 Laravel 安装工具
      composer global require "laravel/installer=~1.1"
      安装后将~/.composer/vendor/bin加入PATH
      export PATH=$PATH:/root/.composer/vendor/bin
      laravel new 命令建立一份全新安装的 Laravel 应用,例如: laravel new blog

    2. 通过 Composer Create-Project

    composer create-project laravel/laravel myproject --prefer-dist

    另一种安装方法,以安装ratchet为例

    composer require cboden/ratchet 
    #此时将会在当前目录自动生成一个composer.json文件
    composer install 
    #开始安装...

    更多可以查看中文官网~~http://docs.phpcomposer.com/
  • 相关阅读:
    H50055:html 页面加载完后再加载js文件 ,url带有时间戳后缀
    H50054:html 页面自动刷新 http-equiv属性
    WebGL_0015:参数值在一定范围内循环变化
    H50053:switch 判断范围
    WebGL_0014:改变相机的刷新颜色
    WebGL_0013:JQuery获取json文件 读取数据
    WebGL_0012:三维讲解导航模板 Icon方式
    H50052:按钮 禁止 选择 拖拽 右键
    滑动窗口的最大值(队列)
    MapReduce程序编写过程
  • 原文地址:https://www.cnblogs.com/guixiaoming/p/6510380.html
Copyright © 2020-2023  润新知