PHP

如何使用 Laravel Route group + middleware 管理多語系 Localization routes

在建立多語系的系統時,常見透過 subdomain 與 first segment 方式來做為多國區分

例如: subdomain: tw.adon988.com, first segment: www.adon988.com/tw/

在 laravel 的 router 如果要建立 first segment 方式的 router ,官方的範例如下:

Continue Reading

解決 Laravel 每日建立分隔 log 檔案,出現權限 Permission Deny 問題

解決 Laravel 每日建立分隔 log 檔案,出現權限 Permission Deny 問題 如果設定排程執行 php artisan 預設會使用 root 來執行,就會導致產生的 log 檔案會有權限問題。 解決方式,首先關閉 root 產生的排程,開啟排程檔案將執行的程式先註解 crontab -e 接著,用 www-data 身份來設定排程 crontab -u www-data -e 例如,以下設定每三十分鐘執行 30 * * * * php /var/www/html/artisan course:create >> /dev/null 2>&1 以上設定完畢後,先刪掉今天產生的 storage/log/ log 檔案,

Continue Reading

Workerman 入門 - 安裝及啟動

Workerman 入門 - 安裝及啟動

Workerma 是一個老牌的 PHP socket 服務架構。

這裡記錄基於 CentOS, PHP7 環境的安裝流程:

Continue Reading

Laravel 6.5 版本發佈功能

Laravel 6.5 版本發佈功能 LazyCollection LazyCollection 可以調用 Memy() ,能記取計算過的值,在運算大數據過程,能避免大量消耗內存的狀況。 範例: <?php ... $users = User::cursor()->remember(); // No query has been executed yet. $users->take(5)->all(); // The query has been executed, and the first 5 users have been streamed from the DB.

Continue Reading

總彙整 PHPStorm 快捷鍵(Mac, Linux, Mac)

總彙整 PHPStorm 快捷鍵(Mac, Linux, Mac)

Mac 符號

符號 解釋
Command
Shift
Control
Enter/Return
Option / Alt

Continue Reading

Laravel 上線環境設定

Laravel 上線環境設定

這裡記錄一下 Laravel專案上線常用設定

Continue Reading

Failed to decode response: zlib_decode(): data error 解法

Failed to decode response: zlib_decode(): data error 解法 composer clear-cache 把下方這段加到 composer.json "repositories": [ { "type": "composer", "url": "https://packagist.org" }, { "packagist": false } ], 執行 sudo composer update

Continue Reading

EC2 安裝 composer

EC2 安裝 composer 這裡記錄如何在 AWS EC2 安裝 composer cd ~ sudo curl -sS https://getcomposer.org/installer | sudo php sudo mv composer.phar /usr/local/bin/composer sudo ln -s /usr/local/bin/composer /usr/bin/composer sudo componstall composer -v

Continue Reading

解決 xxx Packages excluded due to repository priority protections

解決 xxx Packages excluded due to repository priority protections 在 EC2 進行 PHP 升級過程中,發生 xxx Packages excluded due to repository priority protections 此狀況發生原因是,啟用了 priorities ,讓 plugin 安裝會選擇高優先權的 packages 解決方式,可直接開啟 priorities.conf 將設定關閉即可

Continue Reading

CentOS 安裝 PHP7.3

CentOS 安裝 PHP7.3

啟用 EPEL 以及 Remi Repository

$ yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -y
$ yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y

安裝 YUM-UTILS

Continue Reading

PHP Unittest in Laravel With SQLite

In this article will showing how excute a phpunit for SQLite in laravel. In here should prepare mysql and setting .env for database info. First, create a hello model and use the -m options for generate a migration file

Continue Reading

PHP Unittest Mockery in Laravel

Singleton In laravel we usually use IoC to build our application, when we call one Class, all dependency in this class will involed. For testing this class, we can defined depencency in service container as singleton.

Continue Reading

PHP Unittest - An example of PHP Unittest in Laravel framework, include unit test and exception test

In this article, we will show an example of PHP Unittest in Laravel framework, include unit test and exception test.

Continue Reading

Getting started with PHP UnitTest

This article will introduce how to write a unit test. IDE is using Visual Studio Code.

Continue Reading

Apache 及 Nginx 主機設置 phpMyAdmin 訪問白名單方法

主機設置 phpMyAdmin 訪問白名單

正式網站使用 phpMyAdmin 建議一定要限制允許IP來源,避免目錄被訪問

這裡說明如何透過 Web Server 端來設置允許白名單

(建議!盡可能的不要使用 phpmyadmin)

Continue Reading

Laravel 5.8.18-17 新擴充功能說明

Laravel 5.8.18-17 新擴充功能說明

這裏分別針對 Laravel 5.8 (至今年五月)所發佈的一些功能項目進行說明,關於完整的發布紀錄可以參考這裡:

[v5.8.18](https://laravel-news.com/laravel-5-8-18?utm_medium=email&utm_campaign=Laravel v5818 Laracon Australia 2019 PHP Array Redactor and more - 258&utm_content=Laravel v5818 Laracon Australia 2019 PHP Array Redactor and more - 258+CID_a921ac9032531484d27f82e90d45f469&utm_source=email marketing&utm_term=Read More)

v5.8.17

或者參閱完整的 v5.8 更新歷程

Continue Reading

Laravel - PHP Insights

PHP Insights 介紹

PHP Insights 可以用來分析PHP專案的程式品質,可以很簡單的方式從 terminal 直接進行分析。

支援 PHP 7.2+ 以上版本。 並且適用於 Laravel, Symfony, Yii, WordPress, Magento2, 等架構。

這裏主要針對 安裝及 Laravel 使用方式進行說明。

Continue Reading

Laravel - Request Lifecycle

Laravel - Request Lifecycle

簡單整理一下 Laravel request 的生命週期

Continue Reading

Laravel 建立 package 流程

這裡記錄如何建立 Laravel 可使用的 packages,以及如何透過私人 git repositroy 來透過 composer 安裝。

首先,建立 Laravel Project 來做示範:

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

建立 package 相關資料夾

Continue Reading

Laravel - PHP 將 Textarea 文字內容轉出 Word docx 格式

Laravel - PHP 將 Textarea 文字內容轉出 Word docx 格式 最近,需要處理學生考試系統希望能將筆試的內容轉出為 word 格式,以利於批改老師能夠使用追蹤修訂功能進行批改。 在這裡做一個紀錄及範例,如何將 Textarea 文字內容 安裝 Library 首先,在Laravel 專案直接安裝 PHPWord Library composer require phpoffice/phpword 輸出文字為 Word 檔案 先建立好 Controller 之後,直接實作範例如下:

Continue Reading