顯示具有 Composer 標籤的文章。 顯示所有文章
顯示具有 Composer 標籤的文章。 顯示所有文章

2020/10/24

[Composer] v2.0 已釋出! 來更新至最新的 Composer 2.0 版本吧!

markdown 2020-10-24 Composer 2.0 正式釋出! ### 關於 Composer 2.0 新功能 - 改善效能 50% 以上 (這個很需要啊) - 架構變更及確定性:vendor 更新不受網路錯誤干擾 - Runtime 特徵 (可在 composer.json 設定 `"composer-runtime-api": "^2.0"`) - 錯誤訊息改善 - 暫時限制部分更新 (`composer update vendor/package:1.0.*`) ### 如何更新至 Composer 2.0 Composer 2.0 基本上可以順利快速升級 - 2.0 版本仍支援 PHP 5.3 以上版本 - composer.lock 檔案可在版本間互相操作,可更新至 2.0 版本或是回復 - 大多數的命令在 2.0 保持一致 若原先使用 Composer 1.x 版本,執行 `composer self-update` 則會更新 1.x 的主要穩定版本 更新至 2.0 只要執行以下命令 ``` composer self-update --2 ``` 若隨時要變更至 1.x 版本,則執行 ``` composer self-update --1 ``` ### 向下相容問題 - plugings: 需要更新支援 Composer 2 - 避免相容性錯誤,可在部署至 production 時執行 `composer check-platform-reqs --no-dev` - Repository 優先性:若套件存在於較高優先的儲存庫,即會完全忽略較低優先性的儲存庫 - 無效的 PSR-0 / PSR-4 設定將不自動載入 optimized-autoloader 模式 ### 未來如何 根據發佈消息,Composer 2.1 應該還是會支援 PHP 5.3,但 Composer 2.2 就會要求要 PHP 7.1.3 以上版本。 ### References - [Composer 2.0 is now available!](https://blog.packagist.com/composer-2-0-is-now-available/) - [Upgrade guides for Composer 1.x to 2.0](https://getcomposer.org/upgrade/UPGRADE-2.0.md)

2020/06/15

[PHP] 解決執行 Composer 出現 PHP Fatal error: Allowed memory size exhausted 的問題

markdown ### 問題 今天在執行 composer require 套件安裝時出現 PHP Fatal error: Allowed memory size of xxx bytes exhausted 的錯誤訊息 ### 解決方法 1. 在 `php.ini` 加大 `memory_limit` 或是設 `memory_limit = -1` (不限制) 2. 使用命令 `php -d memory_limit=-1 composer.phar` ### 參考連結 - [Composer trouble shooting: memory-limit-errors](https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors)

2019/06/12

[PHP] 指定專案特定 PHP 版本以下載符合的 composer 套件

markdown ### 前言 一般來說,開發人員的機器總是會安裝最新版本的 PHP 來開發 但是總是會有久遠要維護的專案,而 PHP 版本可能也是久遠的舊版本 如果想透過 Composer 來管理套件,但又想要限制特定支援的安裝版本套件,那該怎麼辦呢? ### 問題 開發環境用 PHP 7.3,維護專案採用 PHP 5.6.1 在不變更開發環境的 PHP 版本之下,專案更新套件時會下載到最新的版本 ### 解決方法 在 Composer 有個方便的設定 `composer.json` 只要在 config 加上 platform 的 php 版本即可 ```json ... "config": { "platform": { "php": "5.6.1" } }, ... ``` 也可用指令方式來下命令達到一樣的效果 ``` composer config platform.php 5.6.1 ``` ### 更新 composer 修改 composer.json 後執行更新,即會做降版動作 ``` $ composer update ``` ### References - [Enforcing a PHP Version for Installed Composer Packages](https://andy-carter.com/blog/composer-php-platform)

2016/01/17

[TDD] 基礎 PHPUnit 設定

設定 PHPUnit 專案環境

開始一個簡易的 PHPUnit 專案之前
  1. PHP 5.5+ (5.4 不再更新了, 就升級吧!!)
  2. 先確認 Composer 已安裝
  3. 安裝全域用的 PHPUnit (composer global require phpunit/phpunit)
專案的資料夾結構如下:
Project/
    |-- tests/  (放測試的檔案)
    |-- src/    (放置原始碼)
開啟 Terminal 或 Cmd 等指令輸入工具
用 Composer 安裝 PHPUnit 套件於專案中使用
composer require phpunit/phpunit --dev
修改 composer.json 檔案, 將 src 對應至 autoload
依需求變更 namespace
{
    ...

    "autoload": {
        "psr-4": {
            "": "src/"
        }
    }
}
執行更新 autoload 的檔案
composer dump-autoload
新增 PHPUnit 的設定檔 phpunit.xml
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="vendor/autoload.php">
</phpunit>
最基本的設定就完成囉!!

2015/11/20

[Laravel] 整合工具系列: 輕量資料庫 Adminer

過去在無法直接管理遠端的 MySQL 資料庫時, 都要上傳一大包的 phpMyAdmin. 但是肥大的工具, 其實大多只用簡易的功能 -- SQL 語法來建置初始資料表.

殺雞哪需要出動牛刀?! 偶然之下接觸到 Adminer 這個超輕量的資料庫管理工具, 只要一支檔案, 即可立即操作.

不過有薦於安全性, 還是不想直接門戶大開. 總會用 .htaccess 來限制 IP. 安全性是顧到了, 但如果沒有固定 IP, 就常需要再更新 .htaccess 的檔案, 又顯得有點小麻煩.

最近用 Laravel 執行的專案較多, 原本找到一個 laravel adminer 的套件, 不過呢~它只有單純的英文版!!!

決定動手自己來打造一個具權限控制的 adminer 整合套件, 順便把繁體中文版本也加上去!!

套件名稱: onecentlin/laravel-adminer

Laravel Adminer Database Manager (Laravel 輕量資料庫管理工具)


初聲試啼~ 歡迎指教~ ^^


2015/10/26

[Tracy] 善用工具 -- Tracy 讓 PHP Debug 變簡單了

過去在開發 PHP 專案, 在除蟲的過程當中, 只能利用有限的錯誤訊息, 加上過去的經驗, 才能一步一步解決 error!

今天有機會學到新工具 Tracy (https://github.com/nette/tracy), 真讓人覺得 Debug PHP 程式變簡單了~

1. Composer 安裝

composer require tracy/tracy

這樣該有的基本 library 就具備了


2. 如何使用?

先將 vendor/autoload.php 這支檔案引用進來

require __DIR__.'/vendor/autoload.php';


加上 Tracy\Debugger::enable(); 就可以馬上使用囉