Laravel5.5安裝



安裝  Laravel5.5 前,需要 PHP7.0 以上!
(前陣子剛好試了將本機PHP從5.6升級PHP7.0.25)

1. 下載並安裝 Composer 。

   2019/07/18補充:
         choose the command-line php you want to use,就是要選php.ext

2. cmd下,執行:composer global require "laravel/installer"
3. cmd下,到目標資料夾中,建立一個blog專案,執行:laravel new blog
 ※這裡要等待一下,中間會跑安裝過程,最後看到以下兩句就建立完成了。
  Package manifest generated successfully.
  Application ready! Build something amazing.

 2018/11/21補充:
     composer 安裝laravel都是預設最新版,如果要裝舊的自行加上版本。
  composer create-project laravel/laravel [ProjectName] 5.4.*

4. cmd下,到blog資料夾裡,執行:php artisan serve,就會出現以下句子:
    Laravel development server started: <http://127.0.0.1:8000>
 就可以用瀏覽器開啟 http://127.0.0.1:8000 ,出現以下畫面,就代表安裝成功!


5. 學習Laravel第一小步,來個Hello World!
 修改 blog/routes/web.php
Route::get('/', function () {
//return view('welcome');
return 'Hello World!';
});


PSR-4: Autoloader


網址:PSR-4: Autoloader


Specification

(1) "class" 是指所有的類別classes,介面 interfaces,特性traits,和其他相似的結構。
(2) 一個完整 class 名稱有以下格式:
 \<命名空間>(\<子命名空間>)*\<類別名稱>
 \<NamespaceName>(\<SubNamespaceNames>)*\<ClassName>
  • 完整 class 名稱 “必須” 包含頂層命名空間名稱,也被稱為vendor namespace
  • 完整 class 名稱 “可能” 包含一個或更多次級命名空間名稱。
  • 完整 class 名稱 “必須” 包含一個尾端類別名稱
  • 底線在完整 class 名稱的任何位置都沒有特殊意義。
  • 完整 class 名稱裡的英文字母 “可以” 是大小寫混合。
  • 所有 class 名稱 “必須” 以區分大小寫的方式被參考。
(3) 當載入對應完整 class 名稱的檔案...
  • 接在完整 class 名稱(的命名空間前綴)之後,一個或多個前導命名空間和接續的命名空間(不包含前導命名空間前的分隔符號),至少會對應到一個「基底資料夾」。
  • 在「命名空間前綴」之後,接續的命名空間名稱會對應到「基底資料夾」下的子資料夾,命名空間分隔符號代表了資料夾的分層。子資料夾 “必須” 符合命名空間名稱的大小寫。
  • 尾端 class 名稱對應到以 .php 結尾的檔案,檔案 “必須” 符合 class 名稱的大小寫。
(4) 自動載入實作 “不可” 拋出例外, “不可” 發出任何等級的錯誤,並且 “不應該” 回傳任何值。

Examples

下表展示了符合規範完整類名、命名空間前綴和文件基目錄所對應的文件路徑。
完整 class 名稱命名空間前綴基底資料夾對應檔案路徑
\Acme\Log\Writer\File_Writer Acme\Log\Writer ./acme-log-writer/lib/ ./acme-log-writer/lib/File_Writer.php
\Aura\Web\Response\Status Aura\Web /path/to/aura-web/src/ /path/to/aura-web/src/Response/Status.php
\Symfony\Core\Request Symfony\Core ./vendor/Symfony/Core/ ./vendor/Symfony/Core/Request.php
\Zend\Acl Zend /usr/includes/Zend/ /usr/includes/Zend/Acl.php

PSR-2: Coding Style Guide (下)


網址:PSR-2: Coding Style Guide

PSR-2 (上)

Control Structures

(1) if, elseif, else
 {與if, elseif, else要在同一行,不用換行。
 }與elseif要在同一行,不用換行。
 }與else要在同一行,不用換行。

(2) switch, case
 {與switch在同一行。
 case後的條件與:之間不可以有空白。
case必須縮排於switch,而break必須縮排於case。
 PHP允許case內沒有break,但需在第一個case 加上//no break註解。

(3) while, do while
 {與while在同一行。
 do與{在同一行。
 }與while在同一行。

(4) for
 {與for在同一行。
 =、<或>前後要留一個空白。
 ;之前不可以有空白,之後要留一個空白。
 第一個(之後 不可以有空白,最後一個)之前 不可以有空白。

(5) foreach
 {與foreach在同一行。
 =>前後要留一個空白。
 第一個(之後 不可以有空白,最後一個)之前 不可以有空白。

(6) try, catch
 {與try, catch要在同一行,不用換行。
 }與catch要在同一行,不用換行。
 }與finally要在同一行,不用換行。

Closures

function與(之間需留一個空白。
use前後都需要留一個空白。
{必須與function 同一行。55Function與method是要求{必須換新的一行,但closure要求{與function在同一行。
第一個(之後 不可以有空白,最後一個)之前 不可以有空白。
參數的,之前不可以有空白,而,之後需留一個空白。
參數列若提供預設值,則必須放在最後一個參數。

PSR-2: Coding Style Guide (上)


網址:PSR-2: Coding Style Guide

General

 (1) Code MUST follow all rules outlined in PSR-1.
 (2) File:
   用Unix LF (linefeed)作為換行符號。
   單純PHP不用 ?> 結束,並以以一個空白行作為結束。
 (4)  Lines:建議在每行80個字左右,最多不要超過120個字。
 (5) Indenting:使用4個space,不要使用tab。(或將編輯器的tab鍵做修改)
 (6) Keywords and True/False/Null:PHP的keyword都用小寫

Namespace and Use Declarations

 namespace宣告與use之間空一行,use與class之間再空一行。
 There MUST be one use keyword per declaration.(?)

Classes, Properties, and Methods

 (1)Extends and Implements
  extends和implements關鍵字與其類別名稱必需被宣告在同一行。
  左右大括號{}都要自己獨立一行。
 
 (2)Properties:
  屬性在宣告時一定 (MUST) 要給予初始值,不可使用var來當屬性。
  不要使用底線作為前綴,來區分屬性是 protected 或 private。
 
 (3)Methods
  不要使用底線作為前綴,來區分方法是 protected 或 private。
  Method names後一定不能有空格,左右大括號{},前面不能有空格。

 (4)Method Arguments
  在參數中,每個逗號前不要有空白,而逗號後一定要有空白。

 (5)abstract, final, and static
  abstract與final必須加在visibility之前。static必須加在visibility之後。

 (6)Method and Function Calls
  Method and Function呼叫時,參數的左右括號()前後不能有空格。

PSR-1: Basic Coding Standard


網址:PSR-1: Basic Coding Standard


1.Files
 (1) PHP Tags(PHP標籤):使用<?php ?> 或 <?= ?>,不可以使用其他標籤。
 (2) Character Encoding(編碼):一要要無BOM的UTF-8檔案。
 (3) Side Effects(從屬效應):“從屬效應”(side effects)一詞的意思是,僅僅通過包含文件,不直接聲明類、 函數和常量等,而執行的邏輯操作。

2.Namespace and Class Names
 (1) 命名空間以及類別一定要 (MUST) 依循 PSR-0。
 (2) 類別名稱大寫開始的駝峰大小寫命名法(StudlyCaps) 。
 (3) PHP 5.3 以後有Namespace的作法。

3.Class Constants, Properties, and Methods
 (1) Constants(常數):名稱由大寫字母以及底線符號所組成。
 (2) Properties(屬性) :屬性命名可以遵循 大寫開頭的駝峰式 ($StudlyCaps)、小寫開頭的駝峰式 ($camelCase) 又或者是 下劃線分隔式 ($under_score),只要統一就好。
 (3) Methods(函式):小寫開始的駝峰大小寫命名法(camelCase()) 宣告。

 

Visual Studio Code的優點


網址:為什麼我從 Sublime Text 跳槽 Visual Studio Code?

VS Code 優點 
1.開源、持續且活躍的開發
 Visual Studio Code 在早期版本就將原始碼公開在 GitHub,也是 GitHub 上成長最快速的開源專案之一。 
2.原生 Git 整合
 VS Code 直接原生整合了 Git 的基本功能,所以包含 commit、diff、resolve conflict 等等都可以直接透過 GUI 來操作。 
3.內建 debugger 框架
 各個語言的第三方套件能夠在 VS Code 上提供一致的操作體驗,包含 breakpoint、watch、call stack 等等。 
4.逐漸豐富的套件支援
 內建了套件市集的介面以及網站(Visual Studio Marketplace)。

comment的重要性



CREATE TABLE `table_name` (
`PKID` int(11) NOT NULL,
`FieldName1` int(11) DEFAULT NULL COMMENT '這是一個有comment的名稱1',
`FieldName2` int(11) DEFAULT NULL COMMENT '這是一個有comment的名稱2',
PRIMARY KEY (`PKID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='這是一個有comment的表格';

其實新增表格的語法,不是什麼很難的事,但是這次的重點就是comment!

怎麼說呢!?

最近在整理系統的表格,以前偷懶都沒有寫上comment,當系統開發到一個程度時,開始整理文件,就會發現表格一多要一一補上是一件很煩的事,如果當初有詳細填寫,只要透過語法或工具就能很快輸出資料格式了。


雖然一開始如果開發文件寫的很詳細,也是可以避免這個過程,但是還是老老實實的填寫是最好的。

WriteCodeOnline PHP


網址:WriteCodeOnline PHP


上一篇建立了PHP7的版本,但有時在一些電腦上不能安裝或想要簡易的編寫一下PHP做測式,就可以使用WriteCodeOnline PHP,不用再安裝打開網頁就可以寫PHP了,而且網站支援PHP7。


xampp中php5.6轉換到php7


網址:xampp中php5.6替换到php7

本機:window7 已安裝WAMPSERVER及XAMPPSERVER。
目的:想將XAMPPSERVER改成能隨意在php5.6和php7之間轉換。


一、將PHP7官網下載的文件解壓縮至 XAMPP\PHP7ts 目錄下。
  (PHP7ts也可以直接使用PHP7…等)

二、修改 xampp\apache\conf\extra\httpd-xampp.conf
  (修改前先備份原檔案)

三、將 XAMPP\php7ts\php.exe 修改為 php7.exe
  將 XAMPP\php7ts\php.ini-devolpment 修改為 php.ini


四、cmd 執行  php -v和php7 -v
  (這步驟雖然有執行,但不確定沒執會如何)

五、重新啟動Apache,來看看結果如何:phpinfo(); 以下是PHP7

六、再改回php5.6,看看與PHP7有何不同,以下是PHP5.6


目前僅僅安裝,還不知道PHP7與PHP5差異,再來試試看差異。




MariaDB 10新版大躍進


網址:MariaDB 10新版大躍進


MariaDB 10主要增加了3項新特色:

第一、新增高效複製功能。
   MariaDB 10可以平行複製資料以及更先進的集體提交功能(Group Commit)。

第二、增加原生NoSQL支援。
   新版增加了Connect 引擎來做外部資料管理。

第三、內建分片(Sharding)功能,MariaDB 10的Spider 引擎,可以將大型資料庫的表格分割儲存到不同的伺服器上,提升對分散式架構的支援,日後只要增加伺服器,便可增加資料庫容量。

Visual Studio Live Share共享多人同時編輯


網址:Visual Studio Live Share共享多人同時編輯


“Visual Studio Live Share讓開發團隊能夠在同樣的程式碼集(codebase)裡快速協作,不需要個別配置同樣的開發工具、設定或環境,也不必同步程式碼。”

方便的新功能,對於重覆建置環境覺得麻煩的人,就是一福音,還沒正式玩到這個功能,目前感覺有點像JS Bin。

系統分析師的工作


網址:漫談系統分析師的工作技能

一個好的系統分析師需要廣泛的了解各種領域的知識,這是我以前的想法,但是沒有人什麼都了解,文中說
我們是系統分析師而不是所謂的領域專家,我們的專業是去理解使用者的需求,進行歸納分析與轉化的工作,如何把這件事做好才是我們自己的領域知識。
所以與使用者、客戶溝通進而了解、分析才是最重要的。


摘要一下 11力真功夫: 
1.專業知識:從客戶身上快速學習與吸收領域知識的能力。
2.軟性技能:溝通力、促成力與人際關係能力。
3.聆聽:從客戶的話語中找出真正的重點。
4.面談和提問:有效釐清客戶需求的不確定性或分歧的地方。
5.分析力:找出脈絡,找出哪些是客戶真正需要的,哪些只是他們說需要的。
6.促成力:在有限時間內獲致具體的結論。
7.觀察力:要能發現客戶可能沒有提到微妙之處,從而發掘出要提出來討論的新需求。
8.書寫:清楚地描述出系統的各個面向,避免模棱兩可的詞句。
9.組織力:轉化使用者需求成系統需求,並建立出邏輯清晰的整體性架構。
10.人際關係:人的問題將遠遠比技術性問題難解決。
11.創新力:創造性的轉化,而不是機械性的將需求逐條地「翻譯」成系統需求。

Sublime Text 3 套件安裝


網址:Sublime Text 3 新手上路:必要的安裝、設定與基本使用教學

1.安裝 Package Control
  Ctrl + `→ 貼上 此頁編碼


2. [Preferences] →[Package Control] →Install Package
 或 快速鍵是:Ctrl+Shift+P 然後輸入 inst 之後按下 Enter 鍵

以上步驟就可以選擇想要安裝的套件。

目前使用的套件:
1.ConvertToUTF8:轉換Big5→UTF8
2.SublimeLinter:提示撰寫代碼錯誤
3.Doc​Blockr:自動產生區塊註解
4.SideBarEnhancements:提供許多側邊攔 (SideBar) 的右鍵選單功能

※查看已安裝的套件 [Preferences] →[Browse Packages]

軟體工程師的職業道德


網址:軟體工程師的職業道德!Code 的靈魂!

職業道德與靈魂!
  1. 對自己的程式責負
  2. 為使用者著想
  3. 不自誇,不浮實!
  4. 勇於說不知道!
  5. 擇善固執、適度讓步。

看到這個標題,很有趣,分享一下~

以我來說的話,道德就是為自己的Code負責,至於有沒有辦法注入靈魂,大概是大師才有的能力吧!

wordpress安裝五分鐘就上手


第一次安裝,果然五分鐘就上手!

官網:Wordpress

1.到Wordpress官網→下載想要的版本 (使用最新版本4.8.2)。

2.將wordpress解壓縮到本機環境。(使用XAMPP,解壓縮到htdocs資料夾下)

3.使用瀏覽器開啟路徑 http://localhost/wordpress/,就會開始跳出安裝導引了。

4.設定資料:
 ※資料庫名稱要預先新增好。
 ※使用者名稱需要能對該資料庫有建立表格,新增資料的權限。
 ※主機會址就是資料的位址。
 ※前綴使情況而定,因原本就有裝過故使用wp2_以示區別。

5.送出後,會跳出開始安裝(點選)→再次跳出網站設定(網站名稱、管理者帳號)→安裝wordpress,即可完成安裝。


6.最後會跳出後台管理登入,登入後可以開始設定自己的wordpress架構了。


目前試一下後台,有官方佈景可以設定,也試一下Menu~
要簡單的玩個網站也是一個方便的選擇。


線上的架站(https://zh-tw.wordpress.com/)

程式的效率、優化,高手必經之路…


網址:[轉載]學程式設計的人不能不看的好文章
           (文中原始轉載的網站怪怪的~)


“ 我從來沒有對我寫出來的程式進行過優化,最多就是進行詳細的測試,然後 Debug,但是這就足夠了嗎? "
文中作者這句話很有感,通常為求先完成,只要寫完達到目的就可以了,並沒有再去檢討或是思考程式的效率,久而久之就算覺得以前程式寫的醜(暴力法),其實也不會再去修改優化,通常砍掉重練的機率比較高!

作者:金蝶中間件公司 CTO 袁紅崗 
提出八點建議       (找不到原始來源)
  1. 紮實的基礎
  2. 豐富的想像力
  3. 最簡單的是最好的
  4. 不鑽牛角尖
  5. 對答案的渴求
  6. 多與別人交流
  7. 良好的程式設計風格
  8. 韌性和毅力

整合各系統登入,不難?


網址:整合各系統的登入,很簡單…嗎?

通常使用者、需求單位以為系統登入、登出就是輸入帳號、密碼,對於使用者來說就是兩個欄位,但每個系統在規劃時,都有各自的邏輯,想要整合各系統也不容易。

如果都是公司內部的系統,或許在整合上還能彼此配合修改;但如果還需要整合外部系統的登入,除了串接外,還有安全性的問題,外部系統也不太可能會配合修改,都不是三言兩語可以解決的。



FLEXBOX FROGGY



網址:FLEXBOX FROGGY

透過讓小青蛙順利的回到荷葉上的遊戲方式,學習CSS3Flexbox語法,增加趣味性,每一關卡的了解屬性與值的運用,就像在電動在破關一樣,用打怪的方式學習感覺可以降低不少痛苦,而且會想要突破關卡,就會比較主動學習了。

或許在使用者的操作手冊,思考這種方式或許讓使用者比較容易學習使用系統(XD)。

每一個屬性顯示: