新手必看

新手必看

常见问题必读帮助文件
鸿宇官网

鸿宇官网

鸿宇科技官方网站
鸿宇教程库

鸿宇教程库

鸿宇科技官方教程
功能反馈与建议

功能反馈与建议

BUG反馈问题建议
鸿宇淘宝店铺

鸿宇淘宝店铺

鸿宇官方唯一淘宝店铺
旺迈特官网

旺迈特官网

B2B2C新零售智慧生态电商系统
旺迈特演示站点

旺迈特演示站点

获取论坛账号

获取论坛账号

点击免费开通论坛账号

MySQL - 替换字段部分内容(含:命令行、SQL语句)

Shadow 发表了文章 • 0 个评论 • 974 次浏览 • 2019-03-20 07:45 • 来自相关话题

官方出品:鸿宇科技
鸿宇论坛:bbs.hongyuvip.com
鸿宇QQ群:90664526
 
update 表名 set 字段1 = replace(字段1,'HongYu','HongYuTechnology') [mysql]replace的用法(替换某字段部分内容)

1.replace into
          replace into table (id,name) values('1','aa'),('2','bb')
          此语句的作用是向表table中插入两条记录。如果主键id为1或2不存在就相当于
          insert into table (id,name) values('1','aa'),('2','bb')
          如果存在相同的值则不会插入数据

2.replace(object,search,replace)
          把object中出现search的全部替换为replace
          select replace('www.hongyuvip.com','w','Ww')--->WwWwWw.
hongyuvip.com
          例:把表table中的name字段中的aa替换为bb
          update table set name=replace(name,'aa','bb')

3.UPDATE更新一个字段中的的部分内容

4.现在有一条记录的字段是"HongYu技术",现在我只想将该字段中的
"HongYu"改为"HongYuTechnology",update语句应该怎么写:

update 表名 set 字段1 = replace(字段1,'HongYu','HongYuTechnology') 查看全部
官方出品:鸿宇科技
鸿宇论坛:bbs.hongyuvip.com
鸿宇QQ群:90664526
 
update 表名 set 字段1 = replace(字段1,'HongYu','HongYuTechnology')
 
[mysql]replace的用法(替换某字段部分内容)

1.replace into
          replace into table (id,name) values('1','aa'),('2','bb')
          此语句的作用是向表table中插入两条记录。如果主键id为1或2不存在就相当于
          insert into table (id,name) values('1','aa'),('2','bb')
          如果存在相同的值则不会插入数据

2.replace(object,search,replace)
          把object中出现search的全部替换为replace
          select replace('www.hongyuvip.com','w','Ww')--->WwWwWw.
hongyuvip.com
          例:把表table中的name字段中的aa替换为bb
          update table set name=replace(name,'aa','bb')

3.UPDATE更新一个字段中的的部分内容

4.现在有一条记录的字段是"HongYu技术",现在我只想将该字段中的
"HongYu"改为"HongYuTechnology",update语句应该怎么写:

update 表名 set 字段1 = replace(字段1,'HongYu','HongYuTechnology')

Html5 div中图片垂直居中 如何使div中图片垂直居中

Shadow 发表了文章 • 0 个评论 • 514 次浏览 • 2018-04-16 14:48 • 来自相关话题

官方出品:鸿宇科技
鸿宇论坛:bbs.hongyuvip.com

鸿宇QQ群:90664526
 
解决方案:代码如下
<style type="text/css">
div {
display: table-cell;
vertical-align: middle;
text-align: center;
width: 100px;
height: 100px;
border: 1px solid #eee;
}
div > img {
vertical-align: middle;
}
</style>
 div相对与table对于图片的垂直居中支持的并不好,特别对于不同浏览器的兼容性来说,这里我们看下一个简洁的css解决方法: 
在曾经的 淘宝UED 招聘 中有这样一道题目: 

“使用纯CSS实现未知尺寸的图片(但高宽都小于200px)在200px的正方形容器中水平和垂直居中。” 

当然出题并不是随意,而是有其现实的原因,垂直居中是 淘宝 工作中最常遇到的一个问题,很有代表性。 
题目的难点在于两点: 
1.垂直居中; 
2.图片是个置换元素,有些特殊的特性。 
至于如何解决,下面是一个权衡的相对结构干净,CSS简单的解决方法:
.box {
/*非IE的主流浏览器识别的垂直居中的方法*/
display: table-cell;
vertical-align:middle;
/*设置水平居中*/
text-align:center;
/* 针对IE的Hack */
*display: block;
*font-size: 175px;/*约为高度的0.873,200*0.873 约为175*/
*font-family:Arial;/*防止非utf-8引起的hack失效问题,如gbk编码*/
width:200px;
height:200px;
border: 1px solid #eee;
}
.box img {
/*设置图片垂直居中*/
vertical-align:middle;
}
<div class="box">
<img src="http://pics.taobao.com/bao/alb ... ot%3B />
</div>
<html><head><style>.box {
/*非IE的主流浏览器识别的垂直居中的方法*/
display: table-cell;
vertical-align:middle;
/*设置水平居中*/
text-align:center;
/* 针对IE的Hack */
*display: block;
*font-size: 175px;/*约为高度的0.873,200*0.873 约为175*/
*font-family:Arial;/*防止非utf-8引起的hack失效问题,如gbk编码*/
width:200px;
height:200px;
border: 1px solid #eee;
}
.box img {
/*设置图片垂直居中*/
vertical-align:middle;
}</style></head>
<body><div class="box">
<img src="http://pics.taobao.com/bao/alb ... ot%3B _fcksavedurl="http://pics.taobao.com/bao/alb ... ot%3B />
</div></body> 查看全部
官方出品:鸿宇科技
鸿宇论坛:bbs.hongyuvip.com

鸿宇QQ群:90664526
 
解决方案:代码如下
<style type="text/css">
div {
display: table-cell;
vertical-align: middle;
text-align: center;
width: 100px;
height: 100px;
border: 1px solid #eee;
}
div > img {
vertical-align: middle;
}
</style>

 div相对与table对于图片的垂直居中支持的并不好,特别对于不同浏览器的兼容性来说,这里我们看下一个简洁的css解决方法: 
在曾经的 淘宝UED 招聘 中有这样一道题目: 

“使用纯CSS实现未知尺寸的图片(但高宽都小于200px)在200px的正方形容器中水平和垂直居中。” 

当然出题并不是随意,而是有其现实的原因,垂直居中是 淘宝 工作中最常遇到的一个问题,很有代表性。 
题目的难点在于两点: 
1.垂直居中; 
2.图片是个置换元素,有些特殊的特性。 
至于如何解决,下面是一个权衡的相对结构干净,CSS简单的解决方法:
.box { 
/*非IE的主流浏览器识别的垂直居中的方法*/
display: table-cell;
vertical-align:middle;
/*设置水平居中*/
text-align:center;
/* 针对IE的Hack */
*display: block;
*font-size: 175px;/*约为高度的0.873,200*0.873 约为175*/
*font-family:Arial;/*防止非utf-8引起的hack失效问题,如gbk编码*/
width:200px;
height:200px;
border: 1px solid #eee;
}
.box img {
/*设置图片垂直居中*/
vertical-align:middle;
}
<div class="box">
<img src="http://pics.taobao.com/bao/alb ... ot%3B />
</div>

<html><head><style>.box { 
/*非IE的主流浏览器识别的垂直居中的方法*/
display: table-cell;
vertical-align:middle;
/*设置水平居中*/
text-align:center;
/* 针对IE的Hack */
*display: block;
*font-size: 175px;/*约为高度的0.873,200*0.873 约为175*/
*font-family:Arial;/*防止非utf-8引起的hack失效问题,如gbk编码*/
width:200px;
height:200px;
border: 1px solid #eee;
}
.box img {
/*设置图片垂直居中*/
vertical-align:middle;
}</style></head>
<body><div class="box">
<img src="http://pics.taobao.com/bao/alb ... ot%3B _fcksavedurl="http://pics.taobao.com/bao/alb ... ot%3B />
</div></body>

解决Google公共库&字体库被屏蔽问题 / 谷歌本地字体库解决方案

Shadow 发表了文章 • 0 个评论 • 685 次浏览 • 2018-04-15 18:09 • 来自相关话题

官方出品:鸿宇科技
鸿宇论坛:bbs.hongyuvip.com

鸿宇QQ群:90664526
解决方案:下载本文附件,引用 googleapis-fonts/fonts.css
 
2018年04月15日更新
fonts.googleapis.com 加载慢,所以就从google上扒下来,把css和字体文件都放到本地。@import url(https://fonts.googleapis.com/c ... s:300,400,600,700,800,900);替换为:@import url(googleapis-fonts/fonts.css);

下面是下载字体文件的命令行,仅供参考。https://fonts.gstatic.com/s/nunitosans/v3/pe03MImSLYBIv1o4X1M8cc8WAc5iU1EQVg.woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
  查看全部
官方出品:鸿宇科技
鸿宇论坛:bbs.hongyuvip.com

鸿宇QQ群:90664526
解决方案:下载本文附件,引用 googleapis-fonts/fonts.css
 
2018年04月15日更新
fonts.googleapis.com 加载慢,所以就从google上扒下来,把css和字体文件都放到本地。
@import url(https://fonts.googleapis.com/c ... s:300,400,600,700,800,900);
替换为:
@import url(googleapis-fonts/fonts.css);


下面是下载字体文件的命令行,仅供参考。
https://fonts.gstatic.com/s/nunitosans/v3/pe03MImSLYBIv1o4X1M8cc8WAc5iU1EQVg.woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2
https://fonts.gstatic.com/s/nu ... woff2

 

PhpStorm - 支持dwt和lbi文件设置方法

Shadow 发表了文章 • 0 个评论 • 775 次浏览 • 2018-03-07 18:23 • 来自相关话题

官方出品:鸿宇科技
鸿宇论坛:bbs.hongyuvip.com
鸿宇QQ群:90664526
 
PhpStorm->file->settings->Editor->File Types->Smarty->添加 *.dwt 和 *.lbi 




  查看全部
官方出品:鸿宇科技
鸿宇论坛:bbs.hongyuvip.com
鸿宇QQ群:90664526
 
PhpStorm->file->settings->Editor->File Types->Smarty->添加 *.dwt 和 *.lbi 
QQ截图20180307181926.png

 

数据库管理软件 - Navicat for MySQL 专业数据库管理软件 附软件下载链接和使用教程

Shadow 发表了文章 • 0 个评论 • 870 次浏览 • 2018-03-07 11:43 • 来自相关话题

官方出品:鸿宇科技
鸿宇论坛:bbs.hongyuvip.com

鸿宇QQ群:90664526
 
1.软件下载链接:
Navicat for MySQL 专业数据库管理软件下载链接:http://pan.baidu.com/s/1qYA3zyc 密码:k6u8
 
2.软件使用教程:
https://jingyan.baidu.com/article/6181c3e074ba0d152ff15346.html 查看全部
官方出品:鸿宇科技
鸿宇论坛:bbs.hongyuvip.com

鸿宇QQ群:90664526
 
1.软件下载链接:
Navicat for MySQL 专业数据库管理软件下载链接:http://pan.baidu.com/s/1qYA3zyc 密码:k6u8
 
2.软件使用教程:
https://jingyan.baidu.com/article/6181c3e074ba0d152ff15346.html

PHP - openssl找不到指定的模块 Warning: PHP Startup: Unable to load dynamic library 'openssl'

Shadow 发表了文章 • 0 个评论 • 852 次浏览 • 2018-03-05 09:23 • 来自相关话题

官方出品:鸿宇科技
鸿宇论坛:bbs.hongyuvip.com

鸿宇QQ群:90664526
 
1.在php.ini文件中开启openssl(搜索extension=openssl去掉前面的分号)
 
2.在php.ini文件中,搜索extension_dir,找到extension_dir = "ext",修改为:(记得去掉前面的分号)extension_dir="你的php路径\ext"3.保存php.ini
 
4.记得将PHP的安装目录添加到Windows系统变量%PATH%中
 
5.php7.2下载地址:http://windows.php.net/download#php-7.2 查看全部
官方出品:鸿宇科技
鸿宇论坛:bbs.hongyuvip.com

鸿宇QQ群:90664526
 
1.在php.ini文件中开启openssl(搜索extension=openssl去掉前面的分号)
 
2.在php.ini文件中,搜索extension_dir,找到extension_dir = "ext",修改为:(记得去掉前面的分号)
extension_dir="你的php路径\ext"
3.保存php.ini
 
4.记得将PHP的安装目录添加到Windows系统变量%PATH%中
 
5.php7.2下载地址:http://windows.php.net/download#php-7.2

Html5 - Css3如何使ul中li元素横向排列且不换行

Shadow 发表了文章 • 0 个评论 • 789 次浏览 • 2017-12-19 22:02 • 来自相关话题

官方出品:鸿宇科技
官方论坛:bbs.hongyuvip.com
官方QQ群:90664526

 外层div容器宽度固定,ul宽度随li(li宽度固定)的增加而撑开,但是当ul中li的宽度之和大于div时,ul没有撑开,而是li换行了,如何使li不换行?

解决方法:主要是外面容器设置为white-space:nowrap;li设置为display:inline-block;而不是float:left;<!DOCTYPE html>
<html>
<head>
<style>
#pic_list {
display: block;
white-space: nowrap;
width: 500px;
overflow: auto;
}
#pic_list li {
width: 80px;
height: 80px;
margin: 3px;
background: red;
display: inline-block;
}
</style>
</head>
<div id="pic_list">
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
</body>
</html> 查看全部
官方出品:鸿宇科技
官方论坛:bbs.hongyuvip.com
官方QQ群:90664526

 外层div容器宽度固定,ul宽度随li(li宽度固定)的增加而撑开,但是当ul中li的宽度之和大于div时,ul没有撑开,而是li换行了,如何使li不换行?

解决方法:主要是外面容器设置为white-space:nowrap;li设置为display:inline-block;而不是float:left;
<!DOCTYPE html>
<html>
<head>
<style>
#pic_list {
display: block;
white-space: nowrap;
width: 500px;
overflow: auto;
}
#pic_list li {
width: 80px;
height: 80px;
margin: 3px;
background: red;
display: inline-block;
}
</style>
</head>
<div id="pic_list">
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
</body>
</html>

Laravel - Laravel 5.x migrate时报错: 1071 Specified key was too long

LaravelShadow 发表了文章 • 0 个评论 • 1002 次浏览 • 2017-08-16 13:26 • 来自相关话题

官方出品:鸿宇科技
官方论坛:hongyuvip.com
官方QQ群:90664526
 
问题描述:Laravel 5.4默认使用utf8mb4字符编码,而不是之前的utf8编码。因此运行php artisan migrate 会出现如下错误:[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes (SQL: alter table `users` add unique `users_email_unique`(`email
`))

[PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes
问题根源

  MySql支持的utf8编码最大字符长度为3字节,如果遇到4字节的宽字符就会出现插入异常。三个字节UTF-8最大能编码的Unicode字符是0xffff,即Unicode中的基本多文种平面(BMP)。因而包括Emoji表情(Emoji是一种特殊的Unicode编码)在内的非基本多文种平面的Unicode字符都无法使用MySql的utf8字符集存储。

  这也应该就是Laravel 5.4改用4字节长度的utf8mb4字符编码的原因之一。不过要注意的是,只有MySql 5.5.3版本以后才开始支持utf8mb4字符编码(查看版本:selection version();)。如果MySql版本过低,需要进行版本更新。

注:如果是从Laravel 5.3升级到Laravel 5.4,不需要对字符编码做切换。
 
解决方案
 
1.升级MySql版本到5.5.3以上。
 
2.手动配置迁移命令migrate生成的默认字符串长度,在/app/Providers/AppServiceProvider.php中调用Schema::defaultStringLength方法来实现配置public function boot()
{
\Illuminate\Support\Facades\Schema::defaultStringLength(191);

3.打开 config/database.php 约50-51行'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
修改为
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci', 查看全部
官方出品:鸿宇科技
官方论坛:hongyuvip.com
官方QQ群:90664526
 
问题描述:Laravel 5.4默认使用utf8mb4字符编码,而不是之前的utf8编码。因此运行php artisan migrate 会出现如下错误:
[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes (SQL: alter table `users` add unique `users_email_unique`(`email
`))

[PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes

问题根源

  MySql支持的utf8编码最大字符长度为3字节,如果遇到4字节的宽字符就会出现插入异常。三个字节UTF-8最大能编码的Unicode字符是0xffff,即Unicode中的基本多文种平面(BMP)。因而包括Emoji表情(Emoji是一种特殊的Unicode编码)在内的非基本多文种平面的Unicode字符都无法使用MySql的utf8字符集存储。

  这也应该就是Laravel 5.4改用4字节长度的utf8mb4字符编码的原因之一。不过要注意的是,只有MySql 5.5.3版本以后才开始支持utf8mb4字符编码(查看版本:selection version();)。如果MySql版本过低,需要进行版本更新

注:如果是从Laravel 5.3升级到Laravel 5.4,不需要对字符编码做切换。
 
解决方案
 
1.升级MySql版本到5.5.3以上。
 
2.手动配置迁移命令migrate生成的默认字符串长度,在/app/Providers/AppServiceProvider.php中调用Schema::defaultStringLength方法来实现配置
public function boot()
{
\Illuminate\Support\Facades\Schema::defaultStringLength(191);
}
 
3.打开 config/database.php 约50-51行
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
修改为
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',

Yii2 - Centos 6.* / 7.*下通过yum安装php7

Yii2.0Shadow 发表了文章 • 0 个评论 • 905 次浏览 • 2017-05-07 23:34 • 来自相关话题

官方出品:鸿宇科技
官方论坛:bbs.hongyuvip.com
官方QQ群:90664526
 
查看 centos 版本# cat /etc/centos-release
删除之前的 php 版本# yum remove php* php-common
rpm 安装 Php7 相应的 yum源

CentOS/RHEL 7.x:# rpm -Uvh https://dl.fedoraproject.org/p ... h.rpm
# rpm -Uvh https://mirror.webtatic.com/yu ... e.rpm
CentOS/RHEL 6.x:# rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm

yum安装php7# yum install php70w php70w-opcache
php7可选安装# yum install php70-php php70-php-pear php70-php-bcmath php70-php-pecl-jsond-devel php70-php-mysqlnd php70-php-gd php70-php-common php70-php-fpm php70-php-intl php70-php-cli php70-php php70-php-xml php70-php-opcache php70-php-pecl-apcu php70-php-pecl-jsond php70-php-pdo php70-php-gmp php70-php-process php70-php-pecl-imagick php70-php-devel php70-php-mbstring php70-php-mcrypt
安装其他插件列表(选装)php70w
php70w-bcmath
php70w-cli
php70w-common
php70w-dba
php70w-devel
php70w-embedded
php70w-enchant
php70w-fpm
php70w-gd
php70w-imap
php70w-interbase
php70w-intl
php70w-ldap
php70w-mbstring
php70w-mcrypt
php70w-mysql
php70w-mysqlnd
php70w-odbc
php70w-opcache
php70w-pdo
php70w-pdo_dblib
php70w-pear
php70w-pecl-apcu
php70w-pecl-imagick
php70w-pecl-xdebug
php70w-pgsql
php70w-phpdbg
php70w-process
php70w-pspell
php70w-recode
php70w-snmp
php70w-soap
php70w-tidy
php70w-xml
php70w-xmlrpc
重启 Apache# service httpd restart
 

  查看全部
官方出品:鸿宇科技
官方论坛:bbs.hongyuvip.com
官方QQ群:90664526
 
查看 centos 版本
# cat /etc/centos-release 

删除之前的 php 版本
# yum remove php* php-common 

rpm 安装 Php7 相应的 yum源

CentOS/RHEL 7.x:
# rpm -Uvh https://dl.fedoraproject.org/p ... h.rpm 
# rpm -Uvh https://mirror.webtatic.com/yu ... e.rpm

CentOS/RHEL 6.x:
# rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm 


yum安装php7
# yum install php70w php70w-opcache

php7可选安装
# yum install php70-php php70-php-pear php70-php-bcmath php70-php-pecl-jsond-devel php70-php-mysqlnd php70-php-gd php70-php-common php70-php-fpm php70-php-intl php70-php-cli php70-php php70-php-xml php70-php-opcache php70-php-pecl-apcu php70-php-pecl-jsond php70-php-pdo php70-php-gmp php70-php-process php70-php-pecl-imagick php70-php-devel php70-php-mbstring php70-php-mcrypt

安装其他插件列表(选装)
php70w
php70w-bcmath
php70w-cli
php70w-common
php70w-dba
php70w-devel
php70w-embedded
php70w-enchant
php70w-fpm
php70w-gd
php70w-imap
php70w-interbase
php70w-intl
php70w-ldap
php70w-mbstring
php70w-mcrypt
php70w-mysql
php70w-mysqlnd
php70w-odbc
php70w-opcache
php70w-pdo
php70w-pdo_dblib
php70w-pear
php70w-pecl-apcu
php70w-pecl-imagick
php70w-pecl-xdebug
php70w-pgsql
php70w-phpdbg
php70w-process
php70w-pspell
php70w-recode
php70w-snmp
php70w-soap
php70w-tidy
php70w-xml
php70w-xmlrpc

重启 Apache
# service httpd restart

 

 

Yii2 - Linux安装使用Composer

Yii2.0Shadow 发表了文章 • 0 个评论 • 1165 次浏览 • 2016-12-20 16:52 • 来自相关话题

Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。它在每个项目的基础上进行管理,在你项目的某个目录中进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。

Composer 将这样为你解决问题:

a) 你有一个项目依赖于若干个库。

b) 其中一些库依赖于其他库。

c) 你声明你所依赖的东西。

d) Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。

Composer 是多平台的,我们努力使它在 Windows 、 Linux 以及 OSX 平台上运行的同样出色。
 
安装Composer

1、将composer.phar下载到项目中

使用下面命令下载Composer 的二进制文件,是一个 PHAR 包(PHP 的归档)curl -sS https://getcomposer.org/installer | php
* 可以通过 --install-dir 选项指定 Composer 的安装目录(它可以是一个绝对或相对路径):curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin/composer
2、如果把composer.phar放在系统的 PATH 目录中,就能在全局访问composer.phar。 在类Unix系统中,你甚至可以在使用时不加 php 前缀。可以执行这些命令让 composer 在你的系统中进行全局调用:mv composer.phar /usr/local/bin/composer
现在只需要运行 composer 命令就可以使用 Composer 而不需要输入 php composer.phar。

3、检查 Composer 是否正常工作,只需要通过 php 来执行 PHAR:php composer.phar这将返回给你一个可执行的命令列表。
 
4、查看当前 Composer镜像地址
composer config –gl
[repositories.packagist.org.url] https://packagist.phpcomposer.com

使用 Composer
要在项目中使用 Composer,只需要一个 composer.json 文件。该文件包含了项目的依赖和其它的一些元数据。现在使用 Composer 来安装项目的依赖。

1、创建 composer.json 文件

在当前目录下创建 composer.json 文件,在 composer.json 文件中指定 require key 的值。简单的告诉 Composer 你的项目需要依赖哪些包。

例如:{
"require":
{
"monolog/monolog": "1.0.*"
}
}
可以看到, require 需要一个 包名称  monolog/monolog映射到 包版本 1.0.*的对象。包名称由供应商名称和其项目名称构成。

2、安装依赖包

执行 install 命令获取定义的依赖到本地项目:php composer.phar install
如果你进行了全局安装,并且没有 phar 文件在当前目录,使用下面的命令代替:composer install
这将会找到 monolog/monolog 的最新版本,并将它下载到 vendor 目录。 这是一个惯例把第三方的代码到一个指定的目录 vendor。如果是 monolog 将会创建 vendor/monolog/monolog 目录。

注意: install 命令将创建一个 composer.lock 文件到你项目的根目录中。

3、自动加载

除了库的下载,Composer 还准备了一个自动加载文件,它可以加载 Composer 下载的库中所有的类文件。使用它,你只需要将下面这行代码添加到你项目的引导文件中:require 'vendor/autoload.php';
现在我们就可以使用 monolog 了 查看全部
Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。它在每个项目的基础上进行管理,在你项目的某个目录中进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。

Composer 将这样为你解决问题:

a) 你有一个项目依赖于若干个库。

b) 其中一些库依赖于其他库。

c) 你声明你所依赖的东西。

d) Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。

Composer 是多平台的,我们努力使它在 Windows 、 Linux 以及 OSX 平台上运行的同样出色。
 
安装Composer

1、将composer.phar下载到项目中

使用下面命令下载Composer 的二进制文件,是一个 PHAR 包(PHP 的归档)
curl -sS https://getcomposer.org/installer | php

* 可以通过 --install-dir 选项指定 Composer 的安装目录(它可以是一个绝对或相对路径):
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin/composer

2、如果把composer.phar放在系统的 PATH 目录中,就能在全局访问composer.phar。 在类Unix系统中,你甚至可以在使用时不加 php 前缀。可以执行这些命令让 composer 在你的系统中进行全局调用:
mv composer.phar /usr/local/bin/composer

现在只需要运行 composer 命令就可以使用 Composer 而不需要输入 php composer.phar。

3、检查 Composer 是否正常工作,只需要通过 php 来执行 PHAR:php composer.phar这将返回给你一个可执行的命令列表。
 
4、查看当前 Composer镜像地址
composer config –gl
[repositories.packagist.org.url] https://packagist.phpcomposer.com


使用 Composer
要在项目中使用 Composer,只需要一个 composer.json 文件。该文件包含了项目的依赖和其它的一些元数据。现在使用 Composer 来安装项目的依赖。

1、创建 composer.json 文件

在当前目录下创建 composer.json 文件,在 composer.json 文件中指定 require key 的值。简单的告诉 Composer 你的项目需要依赖哪些包。

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

可以看到, require 需要一个 包名称  monolog/monolog映射到 包版本 1.0.*的对象。包名称由供应商名称和其项目名称构成。

2、安装依赖包

执行 install 命令获取定义的依赖到本地项目:
php composer.phar install

如果你进行了全局安装,并且没有 phar 文件在当前目录,使用下面的命令代替:
composer install

这将会找到 monolog/monolog 的最新版本,并将它下载到 vendor 目录。 这是一个惯例把第三方的代码到一个指定的目录 vendor。如果是 monolog 将会创建 vendor/monolog/monolog 目录。

注意: install 命令将创建一个 composer.lock 文件到你项目的根目录中。

3、自动加载

除了库的下载,Composer 还准备了一个自动加载文件,它可以加载 Composer 下载的库中所有的类文件。使用它,你只需要将下面这行代码添加到你项目的引导文件中:
require 'vendor/autoload.php';

现在我们就可以使用 monolog 了