<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PHP / Laravel / 全棧 Archives - 成長駭客交流第一站 - HyperGrowths™</title>
	<atom:link href="https://hypergrowths.com/tag/php-laravel-%E5%85%A8%E6%A3%A7/feed/" rel="self" type="application/rss+xml" />
	<link>https://hypergrowths.com/tag/php-laravel-全棧/</link>
	<description>用SEO內容行銷加速增長? 企業發展遇到增長瓶頸？加入 HyperGrowths，學習突破性增長策略，優化行銷方案，助力企業飛躍式發展</description>
	<lastBuildDate>Thu, 29 Apr 2021 08:06:50 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.3.5</generator>

<image>
	<url>https://hypergrowths.com/wp-content/uploads/2020/11/cropped-?.png</url>
	<title>PHP / Laravel / 全棧 Archives - 成長駭客交流第一站 - HyperGrowths™</title>
	<link>https://hypergrowths.com/tag/php-laravel-全棧/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>使用Swoole 來加速你的Laravel 應用</title>
		<link>https://hypergrowths.com/software-engineering/laravel/17545/topic-36951257/</link>
		
		<dc:creator><![CDATA[marketer]]></dc:creator>
		<pubDate>Thu, 29 Apr 2021 08:06:50 +0000</pubDate>
				<category><![CDATA[Laravel]]></category>
		<category><![CDATA[PHP / Laravel / 全棧]]></category>
		<guid isPermaLink="false">https://hypergrowths.com/software-engineering/laravel/17545/topic-36951257/</guid>

					<description><![CDATA[<p>Swoole 是為PHP 開發的生產級異步編程框架。他是一個純C 開發的擴展， 他允許PHP 開發者在PHP 中寫高性能，可擴展的並發TCP， UDP， Unix socket， HTTP， WebSocket 服務， 而不需要擁有太多的非阻塞I/O …</p>
<p>The post <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com/software-engineering/laravel/17545/topic-36951257/" data-wpel-link="internal">使用Swoole 來加速你的Laravel 應用</a> appeared first on <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com" data-wpel-link="internal">成長駭客交流第一站 - HyperGrowths™</a>.</p>
]]></description>
										<content:encoded><![CDATA[<article class="Post-Main Post-NormalMain">
<header class="Post-Header">
<h1 class="Post-Title">使用Swoole 來加速你的Laravel 應用</h1>
<div class="Post-Author">
<div class="AuthorInfo"></div>
</div>
</header>
<div class="Post-RichTextContainer">
<div class="RichText ztext Post-RichText">
<p><a href="https://link.zhihu.com/?target=https%3A//www.swoole.co.uk/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Swoole</a>是為PHP開發的生產級異步編程框架。他是一個純C 開發的擴展， 他允許PHP 開發者在PHP 中寫高性能，可擴展的並發TCP， UDP， Unix socket， HTTP， WebSocket 服務， 而不需要擁有太多的非阻塞I/O 編程和低級別的Linux 內核知識。你可以把Swoole 想像成NodeJS， 但對於PHP 來說將有更高性能。</p>
<p class="ztext-empty-paragraph"></p>
<h2>為什麼要在Swoole 上運行Laravel?</h2>
<p class="ztext-empty-paragraph"></p>
<p>下圖展示了PHP 的生命週期。正如你所看到的那樣，當你每次運行PHP 腳本的時候，PHP都需要初始化模塊並為你的運行環境啟動Zend引擎。並且將PHP 腳本編譯為OpCodes 以便Zend引擎執行。</p>
<p>但是， 這樣的生命週期需要在每次請求的時候都執行一遍。因為單個請求創建的環境在請求執行結束後會立即銷毀。</p>
<p>換句話說， 在傳統的PHP 生命週期中， 為了腳本執行而浪費了大量的時間去創建和銷毀資源。想像一下像Laravel 這樣的框架， 在每次請求中需要加載多少文件? 同時也浪費了大量的I/O 操作</p>
<figure data-size="normal"><img decoding="async" src="https://hypergrowths.com/wp-content/uploads/2021/04/v2-c5eb60d7bc8ee549ed0db0c3bf8d1726_r.jpg" data-caption="" data-size="normal" data-rawwidth="525" data-rawheight="270" class="origin_image zh-lightbox-thumb" width="525" data-original="https://pic3.zhimg.com/v2-c5eb60d7bc8ee549ed0db0c3bf8d1726_b.jpg" title="v2-c5eb60d7bc8ee549ed0db0c3bf8d1726_r"><img decoding="async" src="https://hypergrowths.com/wp-content/uploads/2021/04/v2-c5eb60d7bc8ee549ed0db0c3bf8d1726_r.jpg" data-caption="" data-size="normal" data-rawwidth="525" data-rawheight="270" class="origin_image zh-lightbox-thumb lazy" width="525" data-original="data:image/svg+xml;utf8,&lt;svg%20xmlns='http://www.w3.org/2000/svg'%20width='525'%20height='270'&gt;&lt;/svg&gt;" data-actualsrc="https://pic3.zhimg.com/v2-c5eb60d7bc8ee549ed0db0c3bf8d1726_b.jpg" title="v2-c5eb60d7bc8ee549ed0db0c3bf8d1726_r"></figure>
<p class="ztext-empty-paragraph"></p>
<p>因此如果我們利用Swoole 內置一個應用級別的Server， 並且所有腳本文件在加載一次之後便可以保存在內存中呢？這就是為什麼我們需要嘗試在Swoole 上運行Laravel。 Swoole 可以提供強大性能而Laravel 則可以提供優雅代碼結構使用。這倆兒真是完美組合!</p>
<p class="ztext-empty-paragraph"></p>
<h2>安裝</h2>
<p class="ztext-empty-paragraph"></p>
<p>以下是<code>swooletw/laravel-swoole</code>的主要特點：</p>
<p class="ztext-empty-paragraph"></p>
<p class="ztext-empty-paragraph"></p>
<ul>
<li>在Swoole 運行Laravel/Lumen 應用</li>
</ul>
<p class="ztext-empty-paragraph"></p>
<ul>
<li>出色的性能提升至30x</li>
</ul>
<p class="ztext-empty-paragraph"></p>
<ul>
<li>沙盒模式隔離應用程序容器</li>
</ul>
<p class="ztext-empty-paragraph"></p>
<ul>
<li>支持在Laravel 應用中運行WebSocket 服務器</li>
</ul>
<p class="ztext-empty-paragraph"></p>
<ul>
<li>支持<code>Socket.io</code>協議</li>
</ul>
<p class="ztext-empty-paragraph"></p>
<ul>
<li>支持Swoole 表跨進程共享</li>
</ul>
<p class="ztext-empty-paragraph"></p>
<p class="ztext-empty-paragraph"></p>
<p>使用Composer 安裝：</p>
<p class="ztext-empty-paragraph"></p>
<div class="highlight">
<pre><code class="language-text">$ composer require swooletw/laravel-swoole

</code></pre>
</div>
<p class="ztext-empty-paragraph"></p>
<p class="ztext-empty-paragraph"></p>
<p>這個包依賴於Swoole 。在使用這個包之前，請確保你的機器安裝了正確的Swoole 。使用下面的命令快速安裝（linux）：</p>
<p class="ztext-empty-paragraph"></p>
<div class="highlight">
<pre><code class="language-text">pecl install swoole

</code></pre>
</div>
<p class="ztext-empty-paragraph"></p>
<p class="ztext-empty-paragraph"></p>
<p>在安裝這個擴展之後，你需要編輯php.ini添加<code>extension=swoole.so</code> 。</p>
<p class="ztext-empty-paragraph"></p>
<div class="highlight">
<pre><code class="language-text">php -i | grep php.ini # check the php.ini file location sudo echo "extension=swoole.so" &gt; php.ini # add the extension=swoole.so to the end of php.ini php -m | grep swoole # check if the swoole extension has been enabled</code></pre>
</div>
<p class="ztext-empty-paragraph"></p>
<p class="ztext-empty-paragraph"></p>
<blockquote><p>訪問<a href="https://link.zhihu.com/?target=https%3A//www.swoole.co.uk/docs/get-started/installation" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">官網</a>獲取更多的訊息。<br />注意：Swoole 現在只支持Linux 和OSX 。 Windows 服務器現在還不支持。</p></blockquote>
<p class="ztext-empty-paragraph"></p>
<p>然後，添加服務提供者：</p>
<p>如果你使用Laravel ，在<code>config/app.php</code>服務提供者數組添加該服務提供者：</p>
<p class="ztext-empty-paragraph"></p>
<div class="highlight">
<pre><code class="language-text">[ 'providers' =&gt; [ SwooleTWHttpLaravelServiceProvider::class, ], ]</code></pre>
</div>
<p class="ztext-empty-paragraph"></p>
<p class="ztext-empty-paragraph"></p>
<p>如果你使用Lumen ，請將下面的代碼添加到<code>bootstrap/app.php</code> ：</p>
<p class="ztext-empty-paragraph"></p>
<div class="highlight">
<pre><code class="language-text">$app-&gt;register(SwooleTWHttpLumenServiceProvider::class);

</code></pre>
</div>
<p class="ztext-empty-paragraph"></p>
<p class="ztext-empty-paragraph"></p>
<blockquote><p>這個包支持包自動發現機制。如果你運行Laravel 5.5 以上版本，你可以跳過這一步。</p></blockquote>
<p class="ztext-empty-paragraph"></p>
<h2>建立並運行起來</h2>
<p class="ztext-empty-paragraph"></p>
<p>現在，你可以執行以下的命令來啟動Swoole HTTP 服務。</p>
<p class="ztext-empty-paragraph"></p>
<div class="highlight">
<pre><code class="language-text">$ php artisan swoole:http start

</code></pre>
</div>
<p class="ztext-empty-paragraph"></p>
<p class="ztext-empty-paragraph"></p>
<p>然後你可以看到以下訊息：</p>
<p class="ztext-empty-paragraph"></p>
<div class="highlight">
<pre><code class="language-text">Starting swoole http server... Swoole http server started: &lt;http://127.0.0.1:1215&gt;</code></pre>
</div>
<p class="ztext-empty-paragraph"></p>
<p class="ztext-empty-paragraph"></p>
<p>現在可以通過訪問<code>http://127.0.0.1:1215</code>來進入Laravel應用。</p>
<p class="ztext-empty-paragraph"></p>
<h2>基準測試</h2>
<p class="ztext-empty-paragraph"></p>
<p>使用MacBook Air 13寸（2015年產）及乾淨的Lumen 5.5 項目測試：<br />基準測試工具： <a href="https://link.zhihu.com/?target=https%3A//github.com/wg/wrk" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">wrk</a></p>
<p class="ztext-empty-paragraph"></p>
<div class="highlight">
<pre><code class="language-text">wrk -t4 -c100 http://your.app

</code></pre>
</div>
<p class="ztext-empty-paragraph"></p>
<p class="ztext-empty-paragraph"></p>
<h2>基於FPM 的Nginx</h2>
<p class="ztext-empty-paragraph"></p>
<div class="highlight">
<pre><code class="language-text">Running 10s test @ http://lumen.app:9999 4 threads and 100 connections Thread Stats Avg Stdev Max +/- Stdev Latency 1.14s 191.03ms 1.40s 90.31% Req/Sec 22.65 10.65 50.00 65.31% 815 requests in 10.07s, 223.65KB read Requests/sec: 80.93 Transfer/sec: 22.21KB</code></pre>
</div>
<p class="ztext-empty-paragraph"></p>
<p class="ztext-empty-paragraph"></p>
<h2>Swoole HTTP 服務</h2>
<p class="ztext-empty-paragraph"></p>
<div class="highlight">
<pre><code class="language-text">Running 10s test @ http://127.0.0.1:1215 4 threads and 100 connections Thread Stats Avg Stdev Max +/- Stdev Latency 11.58ms 4.74ms 68.73ms 81.63% Req/Sec 2.19k 357.43 2.90k 69.50% 87879 requests in 10.08s, 15.67MB read Requests/sec: 8717.00 Transfer/sec: 1.55MB</code></pre>
</div>
<p class="ztext-empty-paragraph"></p>
<p class="ztext-empty-paragraph"></p>
<h2>更多訊息</h2>
<p class="ztext-empty-paragraph"></p>
<p>在<a href="https://link.zhihu.com/?target=https%3A//github.com/swooletw/laravel-swoole" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Github Repo</a>查看官方包，也可以參考<a href="https://link.zhihu.com/?target=https%3A//github.com/swooletw/laravel-swoole/wiki" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">官方文檔</a>獲取更多訊息。</p>
<p class="ztext-empty-paragraph"></p>
<blockquote><p>更多現代化PHP知識，請前往<a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/10939" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Laravel / PHP知識社區</a></p></blockquote>
</div>
</div>
</article>
<p>The post <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com/software-engineering/laravel/17545/topic-36951257/" data-wpel-link="internal">使用Swoole 來加速你的Laravel 應用</a> appeared first on <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com" data-wpel-link="internal">成長駭客交流第一站 - HyperGrowths™</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>PHP / Laravel API 開發推薦閱讀清單</title>
		<link>https://hypergrowths.com/software-engineering/laravel/17360/topic-34696020/</link>
		
		<dc:creator><![CDATA[marketer]]></dc:creator>
		<pubDate>Thu, 29 Apr 2021 07:25:19 +0000</pubDate>
				<category><![CDATA[Laravel]]></category>
		<category><![CDATA[PHP / Laravel / 全棧]]></category>
		<guid isPermaLink="false">https://hypergrowths.com/software-engineering/laravel/17360/topic-34696020/</guid>

					<description><![CDATA[<p>社區優秀文章Laravel 5.5+passport 放棄dingo 開發API 實戰，讓API 開發更省心- 自造車輪。 API 文檔神器Swagger 介紹及在PHP 項目中使用- API 文檔撰寫方案推薦Laravel API 項目必須使用的8 個擴展包使…</p>
<p>The post <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com/software-engineering/laravel/17360/topic-34696020/" data-wpel-link="internal">PHP / Laravel API 開發推薦閱讀清單</a> appeared first on <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com" data-wpel-link="internal">成長駭客交流第一站 - HyperGrowths™</a>.</p>
]]></description>
										<content:encoded><![CDATA[<article class="Post-Main Post-NormalMain">
<header class="Post-Header">
<h1 class="Post-Title">PHP / Laravel API 開發推薦閱讀清單</h1>
<div class="Post-Author">
<div class="AuthorInfo"></div>
</div>
</header>
<div class="Post-RichTextContainer">
<div class="RichText ztext Post-RichText">
<h2>社區優秀文章</h2>
<p class="ztext-empty-paragraph"></p>
<ul>
<li><a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/6035/laravel55-developing-api-combat" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Laravel 5.5+passport放棄dingo開發API實戰，讓API開發更省心</a>-自造車輪。</li>
<li><a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/5069/the-api-document-artifact-swagger-is-introduced-and-used-in-the-php-project" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">API文檔神器Swagger介紹及在PHP項目中使用</a>- API文檔撰寫方案</li>
<li><a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/7457/recommend-8-extension-packages-that-the-laravel-api-project-must-use" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">推薦Laravel API項目必須使用的8個擴展包</a></li>
<li><a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/7264/using-jwu-auth-to-build-front-and-back-end-user-authentication-and-painless-refresh-access-token" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">使用Jwt-Auth實現API用戶認證以及無痛刷新訪問令牌</a></li>
<li><a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/610/tell-me-about-a-recent-app-backend-project-done-with-laravel" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">講講我最近用Laravel做的一個App後端項目</a></li>
<li><a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/5548/laravel-passport-api-authentication-use-summary" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Laravel Passport API認證使用小結</a></li>
<li><a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/7048/a-summary-of-the-design-of-restful-api" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">關於RESTful API設計的總結</a></li>
<li><a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/6976/laravel-55-uses-passport-to-implement-auth-authentication" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Laravel 5.5使用Passport實現Auth認證</a></li>
<li><a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/7528/use-the-api-resource-function-of-laravel-to-build-your-api" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">使用Laravel的API資源功能來構建你的API</a></li>
<li><a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/7482/a-single-laravel-project-simultaneously-configuring-different-domain-names-apidomain-user-interface-and-admindomain-administrator" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">單個Laravel項目同時配置不同域名api.domain（用戶端接口）和admin.domain（管理員端）</a></li>
<li><a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/6236/multi-field-login-common-solution" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">多字段登錄通用解決方案</a></li>
<li><a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/3904/laravel-do-api-server-vuejsiview-do-spa-a-new-demo" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Laravel做API服務端，VueJS+iView做SPA，給新手一個Demo</a></li>
<li><a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/8115/using-graphql-one-in-laravel-get-data" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">在Laravel中使用GraphQL一【獲取數據】</a></li>
<li><a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/8380/some-of-the-experiences-of-laravel-developing-restful-api" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Laravel開發RESTful API的一些心得</a></li>
<li><a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/3785/understanding-of-rest" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">對REST的理解</a></li>
<li><a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/1792/build-a-restful-service-with-oauth2-verification-with-laravel" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">用Laravel搭建帶OAuth2驗證的RESTful服務</a></li>
<li><a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/7625/dynamically-hide-the-api-field-in-laravel" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">在Laravel中動態隱藏API字段</a></li>
<li><a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/206/deploying-https-and-security-tuning-under-nginx" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Nginx下部署HTTPS與安全調優</a></li>
</ul>
<p>一套安全的API 方案，第一步要做的事情就是部署HTTPS</p>
<p class="ztext-empty-paragraph"></p>
<ul>
<li><a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/7235/2018-php-application-security-design" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">[譯] 2018 PHP應用程序安全設計指北</a><br />&gt; 安全必讀。</li>
</ul>
<h2>開發API 必讀文章</h2>
<p class="ztext-empty-paragraph"></p>
<ul>
<li><a href="https://link.zhihu.com/?target=http%3A//codeplanet.io/principles-good-restful-api-design/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Principles of good RESTful API Design</a> （譯： <a href="https://link.zhihu.com/?target=http%3A//www.cnblogs.com/moonz-wu/p/4211626.html" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">好RESTful API的設計原則</a>）簡單易懂，條理清晰，推薦</li>
<li><a href="https://link.zhihu.com/?target=http%3A//www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Best Practices for Designing a Pragmatic RESTful API</a> （譯： <a href="https://link.zhihu.com/?target=http%3A//blog.jobbole.com/41233" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">RESTful最佳實踐</a><a href="https://link.zhihu.com/?target=http%3A//www.oschina.net/translate/best-practices-for-a-pragmatic-restful-api" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">譯文2</a> ）有實際的案例<a href="https://link.zhihu.com/?target=http%3A//dev.enchant.com/api/v1" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Enchant</a></li>
<li><a href="https://link.zhihu.com/?target=https%3A//github.com/interagent/http-api-design" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">HTTP API Design Guide</a> （譯： <a href="https://link.zhihu.com/?target=https%3A//github.com/cocoajin/http-api-design-ZH_CN" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">HTTP API設計指南</a>）</li>
<li><a href="https://link.zhihu.com/?target=https%3A//bourgeois.me/rest/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Some REST best practices</a></li>
<li><a href="https://link.zhihu.com/?target=http%3A//www.ruanyifeng.com/blog/2011/09/restful.html" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">理解RESTful架構</a>-阮一峰簡單了解什麼是RESTFul</li>
<li><a href="https://link.zhihu.com/?target=http%3A//www.ruanyifeng.com/blog/2014/05/restful_api.html" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">RESTful API設計指南</a>-阮一峰</li>
<li><a href="https://link.zhihu.com/?target=http%3A//novoland.github.io/%25E8%25AE%25BE%25E8%25AE%25A1/2015/08/17/Restful%2520API%2520%25E7%259A%2584%25E8%25AE%25BE%25E8%25AE%25A1%25E8%25A7%2584%25E8%258C%2583.html" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Restful API的設計規範</a>實戰經驗的總結，具有較強的啟發意義</li>
<li><a href="http://zhuanlan.zhihu.com/prattle/20034107" class="internal" data-wpel-link="external" rel="nofollow external noopener noreferrer">撰寫安全合格的REST API</a>利用好HTTP協議所具備的特徵</li>
<li><a href="https://link.zhihu.com/?target=https%3A//www.ibm.com/developerworks/cn/webservices/0907_rest_soap/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Web服務編程，REST與SOAP</a> REST與傳統的面向服務的接口設計的區別，啟發性強</li>
<li><a href="https://link.zhihu.com/?target=http%3A//www.ibm.com/developerworks/cn/web/1103_chenyan_restapi/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">最佳實踐：更好的設計你的REST API</a>了解REST實現緩存的過程</li>
<li><a href="https://link.zhihu.com/?target=https%3A//restful-api-design.readthedocs.org/en/latest/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Thoughts on RESTful API Design</a></li>
<li><a href="https://link.zhihu.com/?target=http%3A//www.restapitutorial.com/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">REST API Tutorial</a>全方位介紹REST</li>
<li><a href="https://link.zhihu.com/?target=https%3A//github.com/bolasblack/http-api-guide" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">HTTP接口設計指北</a></li>
<li><a href="https://link.zhihu.com/?target=https%3A//pages.apigee.com/web-api-design-website-h-ebook-registration.html" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Web API Design</a>接口就是開發人員提供的"界面"，用戶體驗在接口設計上同樣重要，在線查看<a href="https://link.zhihu.com/?target=https%3A//pages.apigee.com/rs/apigee/images/api-design-ebook-2012-03.pdf" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">2012版</a>、 <a href="https://link.zhihu.com/?target=https%3A//pages.apigee.com/rs/351-WXY-166/images/ebook-2013-03-wad.pdf" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">2013版</a></li>
<li><a href="https://link.zhihu.com/?target=http%3A//yuedu.baidu.com/ebook/780324fbf121dd36a32d8269" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">架構風格與基於網絡應用軟件的架構設計</a>原汁原味的博士論文，由李錕翻譯，有經驗的同學可以挑戰一下</li>
<li><a href="https://link.zhihu.com/?target=https%3A//github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Microsoft REST API Guidelines</a>微軟官方的REST API設計指南，值得參考</li>
<li><a href="https://link.zhihu.com/?target=http%3A//www.cnblogs.com/weidagang2046/archive/2011/06/04/2063696.html" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">理解HTTP冪等性</a>講得很清楚，推薦</li>
<li><a href="https://link.zhihu.com/?target=http%3A//www.cppblog.com/jb8164/archive/2008/08/15/58949.html" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">淺析遠程過程調用RPC</a>告訴你什麼是RPC</li>
<li><a href="https://link.zhihu.com/?target=https%3A//httpstatuses.com/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">httpstatuses</a>一眼看完所有常用的HTTP狀態碼，還可以看詳細含義</li>
<li><a href="https://link.zhihu.com/?target=http%3A//jsonapi.org/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">json-api</a>對API應該如何利用好JSON的一些建議</li>
<li><a href="https://link.zhihu.com/?target=http%3A//www.json.org/json-zh.html" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">介紹JSON</a>無論如何都應該讀一遍</li>
<li><a href="https://link.zhihu.com/?target=http%3A//clojure-liberator.github.io/liberator/doc/decisions.html" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">decision-graph.svg</a>一張大圖展示整個REST API的驗證過程，及各種狀態碼出現的時機</li>
</ul>
<h2>現成API 例子</h2>
<p class="ztext-empty-paragraph"></p>
<ul>
<li><a href="https://link.zhihu.com/?target=https%3A//developer.github.com/v3/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Github API v3</a>被很多人參考和引用，比如對分頁的處理方法、接口版本的設計等等</li>
<li><a href="https://link.zhihu.com/?target=https%3A//documentation.mailgun.com/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Mailgun Documentation</a>郵件服務REST API</li>
<li> <a href="https://link.zhihu.com/?target=http%3A//dev.enchant.com/api/v1" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Enchant REST API</a></li>
<li> <a href="https://link.zhihu.com/?target=https%3A//developers.coinbase.com/api/v2" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Coinbase</a> API設計的挺好的，包括官網提供的接口客戶端，都是具有參考意義的</li>
<li><a href="https://link.zhihu.com/?target=http%3A//www.opennms.org/wiki/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">OpenNMS Wiki ReST API</a></li>
<li> <a href="https://link.zhihu.com/?target=https%3A//leancloud.cn/docs/rest_api.html" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">REST API使用詳解</a>Lean Cloud中講解REST API的使用，還集成<a href="https://link.zhihu.com/?target=https%3A//swagger.io/swagger-ui/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Swagger UI</a>在線調試工具， <a href="https://link.zhihu.com/?target=https%3A//leancloud.cn/dashboard/apionline/index.html" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">點擊查看</a>。</li>
</ul>
<h2>調試工具</h2>
<p class="ztext-empty-paragraph"></p>
<ul>
<li><a href="https://link.zhihu.com/?target=https%3A//www.sprintapi.com/dhcs.html" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">DHC (aka Dev HTTP Client)</a> Chrome插件，簡單易用，可分類管理，界面友好</li>
<li><a href="https://link.zhihu.com/?target=http%3A//www.telerik.com/fiddler" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Fiddler2</a> Windows下抓包必備，捕捉每一次REST請求和響應的詳細內容</li>
<li><a href="https://link.zhihu.com/?target=https%3A//www.charlesproxy.com/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Charles Proxy</a> Mac下抓包必備</li>
<li><a href="https://link.zhihu.com/?target=https%3A//www.getpostman.com/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Postman</a>功能齊全的API請求工具</li>
</ul>
<h2>Laravel API 課程</h2>
<p>社區有一門實戰課程<a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/7657" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">《Laravel教程實戰高級-構架API服務器》</a> ，主要專注於App和SPA後端API服務器實戰開發。手把手帶你構建一個設計合理的RESTful API 服務器。本課程涉及的技術話題有：</p>
<p class="ztext-empty-paragraph"></p>
<ul>
<li>RESTFul 的概念及Github Api 設計分解；</li>
<li> DingoApi 的介紹及安裝；</li>
<li> PostMan 的介紹及使用；</li>
<li>用戶認證—— 手機註冊、登錄、退出；</li>
<li>第三方認證—— 微信登錄、JWT的使用；</li>
<li>用戶訊息—— 獲取個人訊息、上傳圖片接口、修改個人訊息；</li>
<li>話題接口—— 發布、修改、刪除、列表；</li>
<li>話題回復接口—— 發布、修改、刪除、列表；</li>
<li>權限控制—— 權限列表，角色列表；</li>
<li>資源推薦接口、活躍用戶接口；</li>
<li>接口本地化處理；</li>
<li> API 接口錯誤代碼機制；</li>
<li> APNS 消息推送服務器端介紹及實現；</li>
<li> API 測試—— 單元測試、集成測試、黑盒測試；</li>
<li>快速完成API 文檔；</li>
<li> Passport / OAuth 2.0 認證。</li>
</ul>
<p class="ztext-empty-paragraph"></p>
<blockquote><p>原文見： <a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/docs/dingo-api/2.0.0/recommended-reading" class=" external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external"><span class="invisible">https://</span> <span class="visible">laravel-china.org/docs/</span> <span class="invisible">dingo-api/2.0.0/recommended-reading</span></a></p></blockquote>
</div>
</div>
</article>
<p>The post <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com/software-engineering/laravel/17360/topic-34696020/" data-wpel-link="internal">PHP / Laravel API 開發推薦閱讀清單</a> appeared first on <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com" data-wpel-link="internal">成長駭客交流第一站 - HyperGrowths™</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Laravel 入門指南（新手必讀）</title>
		<link>https://hypergrowths.com/software-engineering/laravel/16990/topic-32389167/</link>
		
		<dc:creator><![CDATA[marketer]]></dc:creator>
		<pubDate>Thu, 29 Apr 2021 05:54:59 +0000</pubDate>
				<category><![CDATA[Laravel]]></category>
		<category><![CDATA[PHP / Laravel / 全棧]]></category>
		<guid isPermaLink="false">https://hypergrowths.com/software-engineering/laravel/16990/topic-32389167/</guid>

					<description><![CDATA[<p>說明本文旨在為新同學的Laravel 學習之路提供一張清晰的地圖。 1. 先熟悉下Laravel 的基礎知識為什麼大家都說Laravel 很流行？ Laravel 的版本發布計劃是怎樣的？我該如何選擇Laravel 版本？如何高效地學習L…</p>
<p>The post <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com/software-engineering/laravel/16990/topic-32389167/" data-wpel-link="internal">Laravel 入門指南（新手必讀）</a> appeared first on <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com" data-wpel-link="internal">成長駭客交流第一站 - HyperGrowths™</a>.</p>
]]></description>
										<content:encoded><![CDATA[<article class="Post-Main Post-NormalMain">
<header class="Post-Header">
<h1 class="Post-Title">Laravel 入門指南（新手必讀） </h1>
<div class="Post-Author">
<div class="AuthorInfo"></div>
</div>
</header>
<div class="Post-RichTextContainer">
<div class="RichText ztext Post-RichText">
<h2>說明</h2>
<p class="ztext-empty-paragraph"></p>
<p>本文旨在為新同學的Laravel 學習之路提供一張清晰的地圖。</p>
<p class="ztext-empty-paragraph"></p>
<h2>1. 先熟悉下Laravel 的基礎知識</h2>
<p class="ztext-empty-paragraph"></p>
<ul>
<li><a href="https://zhuanlan.zhihu.com/p/24673684" class="internal" data-wpel-link="external" rel="nofollow external noopener noreferrer">為什麼大家都說Laravel很流行？</a></li>
<li> <a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/2594/laravel-release-roadmap" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Laravel的版本發布計劃是怎樣的？</a></li>
<li> <a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/2595/how-to-select-the-laravel-framework-version" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">我該如何選擇Laravel版本？</a></li>
<li><a href="https://zhuanlan.zhihu.com/p/31517734" class="internal" data-wpel-link="external" rel="nofollow external noopener noreferrer">如何高效地學習Laravel框架？</a></li>
<li> <a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/4722/history-of-laravel" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Laravel經歷了哪些技術變革？</a></li>
<li> <a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/3452/why-i-choose-laravel" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">我為什麼選擇Laravel</a></li>
</ul>
<p class="ztext-empty-paragraph"></p>
<h2>2. Laravel 開發環境和部署</h2>
<p class="ztext-empty-paragraph"></p>
<ul>
<li><a href="https://link.zhihu.com/?target=https%3A//fsdhub.com/books/laravel-essential-training-5.5/556/development-environment-macos" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">如何在Mac下安裝Homestead？</a></li>
<li> <a href="https://link.zhihu.com/?target=https%3A//fsdhub.com/books/laravel-essential-training-5.5/557/development-environment-windows" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">如何在Windows下安裝Homestead？</a></li>
<li> <a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/4668/why-do-you-have-to-use-homestead-to-develop-laravel-applications" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">為什麼必須使用Homestead來開發Laravel應用？</a></li>
<li> <a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/2814/ubuntu-1416-under-the-laravel-lnmp-online-environment-automatically-deploy-scripts" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">如何部署與開發環境一致的線上生產環境？</a></li>
<li> <a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/24/laravel-envoy-elegant-ssh-remote-task-execution-tool" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">如何上線代碼？</a></li>
</ul>
<h2>3. 開始學習</h2>
<p class="ztext-empty-paragraph"></p>
<p>首先得有個概念</p>
<blockquote><p>編程技能只可通過編碼練習獲得，而項目實戰是最好的提高編程技能的方式。</p></blockquote>
<ul>
<li><a href="https://www.zhihu.com/question/20476137/answer/135748557" class="internal" data-wpel-link="external" rel="nofollow external noopener noreferrer">自學PHP，如何不走彎路？</a></li>
</ul>
<p>項目實戰的課程推薦：</p>
<ul>
<li><a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/3383/laravel-the-first-chinese-new-book-laravel-tutorial" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">《Laravel入門教程-從零到部署上線》</a></li>
<li> <a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/6592/laravel-tutorial-series-book-second-web-developer-combat-advanced-began-to-build-the-forum-system-from-zero" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">《Laravel進階課程-從零開始構建論壇系統》</a></li>
</ul>
<p class="ztext-empty-paragraph"></p>
<h2>4. 團隊開發規範</h2>
<p class="ztext-empty-paragraph"></p>
<blockquote><p>Laravel 文檔和網上的各種教程，會教授我們一個任務可以使用好幾種方法來完成。對於框架設計來說，靈活是件好事，能提供給開發者不同的選項，能讓框架適用更多的用戶場景。但是對於團隊的協同開發來說，大部分時候，更多的選項反而是累贅。此文檔，正是為解決此問題而誕生。<br /> —— <a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/5599/share-the-development-specification-of-the-team-laravel-project-development-specification" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">《Laravel項目開發規範》</a></p></blockquote>
<h2>5. 如何找工作？</h2>
<p class="ztext-empty-paragraph"></p>
<ul>
<li><a href="https://www.zhihu.com/question/27622236/answer/268371457" class="internal" data-wpel-link="external" rel="nofollow external noopener noreferrer">程序員找工作用什麼比較好？對比下，拉勾網，51job，智聯招聘。</a></li>
<li><a href="https://www.zhihu.com/question/50409975/answer/268402911" class="internal" data-wpel-link="external" rel="nofollow external noopener noreferrer">沒有工作經驗的程序員怎樣找工作？</a></li>
</ul>
<p class="ztext-empty-paragraph"></p>
<h2>6. 最後關於社區</h2>
<p class="ztext-empty-paragraph"></p>
<p>技術社區有大量的知識沉澱，遇到問題了你可以利用頂部的搜索功能或者Google 來找到答案。</p>
<p>如果你想發言，請知悉，在這裡我們非常不歡迎膚淺、浮躁與不友善的討論，拒絕戾氣、拒絕噴子、拒絕負能量，如果你做不到，請保持安靜，否則隨時會被禁言。</p>
<p>擴展閱讀—— <a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/5788/people-are-more-important-than-clever" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">與人為善，比聰明更重要</a>。</p>
</div>
</div>
</article>
<p>The post <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com/software-engineering/laravel/16990/topic-32389167/" data-wpel-link="internal">Laravel 入門指南（新手必讀）</a> appeared first on <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com" data-wpel-link="internal">成長駭客交流第一站 - HyperGrowths™</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>如何高效地學習Laravel 框架？</title>
		<link>https://hypergrowths.com/software-engineering/laravel/16895/topic-31517734/</link>
		
		<dc:creator><![CDATA[marketer]]></dc:creator>
		<pubDate>Thu, 29 Apr 2021 05:21:42 +0000</pubDate>
				<category><![CDATA[Laravel]]></category>
		<category><![CDATA[PHP / Laravel / 全棧]]></category>
		<guid isPermaLink="false">https://hypergrowths.com/software-engineering/laravel/16895/topic-31517734/</guid>

					<description><![CDATA[<p>學習策略Laravel 是個功能齊全的全棧框架，學習她相當於你在學習成為全棧工程師。如果你之前沒有學習過類似的全棧框架，你會發現你很快會被埋進大量的技術概念和專有名詞裡。這並不是你不夠聰明，而是： 人類短時…</p>
<p>The post <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com/software-engineering/laravel/16895/topic-31517734/" data-wpel-link="internal">如何高效地學習Laravel 框架？</a> appeared first on <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com" data-wpel-link="internal">成長駭客交流第一站 - HyperGrowths™</a>.</p>
]]></description>
										<content:encoded><![CDATA[<article class="Post-Main Post-NormalMain">
<header class="Post-Header">
<h1 class="Post-Title">如何高效地學習Laravel 框架？ </h1>
<div class="Post-Author">
<div class="AuthorInfo"></div>
</div>
</header>
<div class="Post-RichTextContainer">
<div class="RichText ztext Post-RichText">
<h2>學習策略</h2>
<p>Laravel 是個功能齊全的全棧框架，學習她相當於你在學習成為全棧工程師。如果你之前沒有學習過類似的全棧框架，你會發現你很快會被埋進大量的技術概念和專有名詞裡。這並不是你不夠聰明，而是：</p>
<blockquote><p>人類短時間內的記憶和訊息處理能力都是有限的，當短時間內暴露在大量的訊息面前時，你的注意力會被嚴重分散，帶來的是挫折感和煩躁不安。</p></blockquote>
<p>所以，我們需要一套更加聰明的學習策略。</p>
<p>我將框架知識分類為以下：</p>
<ul>
<li>底層實現知識——如<a href="https://link.zhihu.com/?target=https%3A//d.laravel-china.org/docs/5.5/container" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">服務容器</a>、 <a href="https://link.zhihu.com/?target=https%3A//d.laravel-china.org/docs/5.5/providers" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">服務提供器</a>、 <a href="https://link.zhihu.com/?target=https%3A//d.laravel-china.org/docs/5.5/facades" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Facades</a> 、 <a href="https://link.zhihu.com/?target=https%3A//d.laravel-china.org/docs/5.5/contracts" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Contracts</a> 、Repository等</li>
<li>框架使用知識—— 如用戶註冊登錄、郵件發送、數據模型的CRUD、用戶數據獲取等</li>
</ul>
<p>每一個分類下都有非常多的概念需要學習，但是很明顯，學習框架的使用要比學習底層實現原理要簡單有趣多了，並且因為學習的愉悅性高了，我們能記得更牢固。</p>
<p>當你有一定的框架使用經驗以後，再去學習底層實現的概念，你能更好地理解這些技術概念的來龍去脈，最終達到會事半功倍的學習效果。並且這時候學習底層實現，也會讓你對框架的理解更加深入，你會發現你對框架使用技巧會變得更加靈活。</p>
<p>用比較簡單的話來講，就是在一開始學習的時候，先不管底層實現，利用框架提供的功能，先建造一些可用的項目，等熟悉掌握了這些框架功能的使用以後，再去學習底層實現概念。</p>
<p>即使是做了分類，並且有了先後順序還不夠。因為單單框架使用這部分的知識，涉及的概念也是非常多，很容易陷入訊息過載的情況。所以我們需要有一個循序漸進的方案，先學習簡單的，常用的概念，然後再慢慢學複雜的，並且在學習的過程中要注意重複學習，這樣概念才能記得越牢固。</p>
<h2>推薦學習路徑</h2>
<p>基於以上的思想，我創建了《Laravel 實戰課程》，計劃中有三本（也有可能更多），分別是：</p>
<ul>
<li>第一本—— <a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/3383" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">《Laravel入門教程-從零到部署上線》</a></li>
<li>第二本—— <a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/6592" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">《Laravel進階課程-從零開始構建論壇系統》</a></li>
<li>第三本—— 《Laravel 高級課程- 構架API 服務器》</li>
</ul>
<p>第一本書教授如何使用Laravel 一步一步構建一個類似新浪微博的應用，書中很多技術話題會被一帶而過，這是有意而為之的，我們希望讓讀者保持對編碼線索的專注，不被篇幅悠長的名詞解釋分心。通過閱讀本教程，你將學到如HTML、CSS、JavaScript、PHP 和Laravel 等Web 開發相關的基礎知識。不僅如此，本書還會對這些基礎知識點進行延伸擴展，為你講解一些在Web 開發中更為專業、實用的技能，如Git 工作流、Laravel Mix 前端工作流、Bootstrap 框架基本使用等。這些知識將為你未來的編程開發奠定下堅實的基礎。</p>
<p>第二本以構建論壇項目<a href="https://link.zhihu.com/?target=https%3A//github.com/summerblue/larabbs" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">LaraBBS</a>為線索，展開對Laravel框架的全面學習。編碼規範遵循<a href="https://link.zhihu.com/?target=https%3A//fsdhub.com/books/laravel-specification" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Laravel項目開發規範</a>，應用程序架構思路貼近Laravel框架的設計哲學。在論壇系統的構建中，我們將學到多角色用戶權限系統、管理員後台、註冊驗證碼、圖片上傳、圖片裁剪，XSS 防禦、自定義命令行、自定義中間件、任務調度、隊列系統的使用、應用緩存、Redis、模型事件監控、表單驗證、消息通知、郵件通知、模型修改器等知識。在本課程的學習中，你不僅能學到使用Laravel 開發一個論壇項目，還能學到安全優先、高擴展性的大型項目架構經驗。</p>
<p>第三本將以構建API 服務器為目標，來展開。目前本課程正在緊張撰寫中，敬請期待。</p>
<p>學完了以上三本書，你將擁有一定的項目開發經驗，對框架的功能使用也會有一個比較全面的系統性理解。這時候，會是學習『底層實現』的好時機。</p>
<p>底層實現的知識學習，可以從文檔開始，打開Laravel的文檔中心—— <a href="https://link.zhihu.com/?target=http%3A//d.laravel-china.org/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">d.laravel-china.org</a> ，找到最新版本的Laravel文檔，然後仔細閱讀2、3遍。因為有了上面的項目經驗，此時的文檔閱讀啃起來會輕鬆多了。</p>
<p>閱讀文檔後，可以嘗試看下Laravel 底層的源碼，看看這些框架的功能都是怎麼實現的。</p>
<p>學習過程中可以適當做筆記，例如：</p>
<ul>
<li><a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/users/17319" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">zhangbao</a>同學的<a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/whoops-learning-notes" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Laravel文檔閱讀筆記</a></li>
<li><a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/users/16272" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">leoyang</a>同學的<a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/leoyang" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Laravel源碼分析筆記</a></li>
</ul>
<h2>錯誤的學習方法</h2>
<blockquote><p>一上來就開始啃文檔<a href="https://link.zhihu.com/?target=http%3A//d.laravel-china.org/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">d.laravel-china.org</a> 。</p></blockquote>
<p>如果你是新手，有太多的新概念你需要學習，你會發現學習起來非常艱難，甚至懷疑文檔是不是寫的太爛了（社區裡經常出現這種抱怨）。</p>
<p>事實上，不是文檔寫的太爛，而是你把文檔用錯了。文檔的『目的』是快速查閱，一份優秀文檔的標準是語言簡練，釋義，這個Laravel 的文檔做的很棒。但是，文檔並不適合做入門學習使用，上面我們已經講過，原因是訊息量太大。</p>
<blockquote><p>尋找網絡上零散的課程進行學習。</p></blockquote>
<p>如果你想學習單個概念，這些零散的小課程會很方便。但是，如果是想以閱讀大量課程來達到系統性學習的目的，你將會很失望。很多時候你會感覺—— 你好像學了很多，學了很久，以為自己學會了，但是心裡還是沒底氣。</p>
<p>你需要的是通過項目，完整的項目，將所有的知識串起來去記憶。你的作品，清清楚楚擺在面前，看著你一步步構建出來的一套系統，自信心也會有所增加。</p>
<blockquote><p>一開始就學習高級話題，如<a href="https://link.zhihu.com/?target=https%3A//d.laravel-china.org/docs/5.5/container" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">服務容器</a>、 <a href="https://link.zhihu.com/?target=https%3A//d.laravel-china.org/docs/5.5/providers" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">服務提供器</a>、 <a href="https://link.zhihu.com/?target=https%3A//d.laravel-china.org/docs/5.5/facades" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Facades</a> 、 <a href="https://link.zhihu.com/?target=https%3A//d.laravel-china.org/docs/5.5/contracts" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Contracts</a> 、Repository等</p></blockquote>
<p>很多時候你會發現這些話題晦澀難懂，很難學習。並且即使你毅力比較好，死記硬背，很快也會忘記，學習效率非常低下。然後最重要的，學會這些概念，並無法使你掌握構建一個完整項目的能力。</p>
<p class="ztext-empty-paragraph"></p>
<p>EOF</p>
<p class="ztext-empty-paragraph"></p>
<blockquote><p>討論請前往： <a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/6928/how-to-learn-the-laravel-framework-efficiently" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">如何高效地學習Laravel框架？</a></p></blockquote>
<p class="ztext-empty-paragraph"></p>
<p>--</p>
</div>
</div>
</article>
<p>The post <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com/software-engineering/laravel/16895/topic-31517734/" data-wpel-link="internal">如何高效地學習Laravel 框架？</a> appeared first on <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com" data-wpel-link="internal">成長駭客交流第一站 - HyperGrowths™</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>我為什麼選擇Laravel</title>
		<link>https://hypergrowths.com/software-engineering/laravel/16597/topic-27329575/</link>
		
		<dc:creator><![CDATA[marketer]]></dc:creator>
		<pubDate>Thu, 29 Apr 2021 03:55:25 +0000</pubDate>
				<category><![CDATA[Laravel]]></category>
		<category><![CDATA[PHP / Laravel / 全棧]]></category>
		<guid isPermaLink="false">https://hypergrowths.com/software-engineering/laravel/16597/topic-27329575/</guid>

					<description><![CDATA[<p>以下是我個人對技術的選擇過程，完全主觀。分享這些信息的目的，在於多一份信息給新手作為參考，請當做個人經驗分享。 -- 記得那時是2013 年中旬，個人對PHP 生態圈的感情，完全是累覺不愛了。站在2013 年會往…</p>
<p>The post <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com/software-engineering/laravel/16597/topic-27329575/" data-wpel-link="internal">我為什麼選擇Laravel</a> appeared first on <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com" data-wpel-link="internal">成長駭客交流第一站 - HyperGrowths™</a>.</p>
]]></description>
										<content:encoded><![CDATA[<article class="Post-Main Post-NormalMain">
<header class="Post-Header">
<h1 class="Post-Title">我為什麼選擇Laravel </h1>
<div class="Post-Author">
<div class="AuthorInfo"></div>
</div>
</header>
<div class="Post-RichTextContainer">
<div class="RichText ztext Post-RichText">
<blockquote>
<p>以下是我個人對技術的選擇過程，完全主觀。分享這些訊息的目的，在於多一份訊息給新手作為參考，請當做個人經驗分享。</p>
</blockquote>
<p>--</p>
<p>記得那時是2013 年中旬，個人對PHP 生態圈的感情，完全是累覺不愛了。</p>
<p>站在2013 年會往後看，在我過去三年的編程經歷中，開發接觸到Discuz、DiscuzX、WordPress、Drupal、Joomla、帝國、PHPWind、ThinkPHP、Codeignitor、Yii、CakePHP、Zend、Slim、Kohana、新公司的自己開發設計過氣的老框架+正在設計的新框架....</p>
<p>每接觸一個軟件框架，就是對一套全新的機制系統的學習，不同的類加載的實現機制、不同的核心類名稱、不同的函數名稱、不同的插件系統、不同的主題系統。但其實，大部分時候，他們做的都是同樣的事情，有些軟件架構像DiscuzX、Drupal、Joomla 的代碼尤其難啃。</p>
<p>看著網絡上遍布著各種《PHP 最流行30 個開源軟件》、《PHP 最流行50 個框架》的文章，開始問自己：“難道編程就是這樣子無止境的學習框架？無止境的學習這些開源軟件架構？”，後來也試過選擇一個框架作為自己的主修，從外觀上看，後台提供商的支持最靠譜的就是Zend Framework ，因為Zend 是PHP 後面的那家公司，可是做了一個項目以後，就完全做不下去了。複雜、臃腫的設計，讓你完全產生不了愛意。第二個嘗試是當時最受歡迎的框架Codeignitor ，在當時確實眼前一亮，簡單的MVC 架構，創新的路由設計，可是還是太輕了，要開發一個項目，需要裝這個裝那個，並且都是手動去裝，遇到核心沒提供的類庫（Class），得去互聯網上搜索，然後復制黏貼到手動創建的文件中。中文網頁上，有些代碼不小心加了幾個中文的， 還有（ ，debug 到你開始掉頭髮。</p>
<p>這就是一個PHPer 在2013 年的徬徨，完全心灰意冷。在那一年，也開始接觸除了PHP以外的生態圈- Python的Django,那時候熱的燙手Nodejs的express.js，微軟的<a href="https://link.zhihu.com/?target=http%3A//asp.net%252Cjava/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">http://ASP.NET，Java</a>的Spring，Objective-C的CocoaTouch（開始公司iOS App 的開發工作）。很快就發現了Ruby on Rails 和Gem 包管理，被他們ROR 的生態圈深深吸引。他們的設計哲學：</p>
<ul>
<li>強調與註重敏捷開發；</li>
<li>約定高於配置（Convention over configuration）；</li>
<li> DRY（Don't repeat yourself）不要重複自己；</li>
<li> 「編程愉悅性」很重要。</li>
</ul>
<p>簡直就是不能同意更多，站在ROR 看PHP 的生態圈，PHP 生態圈簡直可以用「一盤散沙」來形容。 PHP 擁有那麼多的開發者，開發觀念還是那麼落後，大家各自為戰，那麼多的腦力，到最後都消耗在大量的重複性工作上，生產力嚴重浪費。</p>
<p>在2013 年底，準備完全切到ROR 上， 2014 的新年願望裡有一條： ”找一份ROR 工作“。</p>
<p>2014 年3 月份，接到一位朋友的邀請做創業公司的技術合夥人，開始給未來的團隊選擇技術堆棧，其實當時差不多可以決定後端選型，就是ROR。唯一讓我猶豫的是，ROR 用的是Ruby，開發群體太小，作為技術合夥人，不得不考慮後面人才引入的問題。這個時候無意間發現了Jeffrey Way 的Laravel 視頻教程，通過深入學習，以及對作者的了解，基本上可以定義：這就是PHP 中的ROR。不只是長得像ROR，他的開發哲學（上面羅列出來的）也像ROR。另外Jeffrey Way 決定了完全投身Laravel 的教育中，也加深了我對Laravel 的信心。 <a href="https://link.zhihu.com/?target=https%3A//tutsplus.com/authors/jeffrey-way" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Jeffrey Way - Envato Tuts+ Profile</a>是<a href="https://link.zhihu.com/?target=https%3A//code.tutsplus.com/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Nettuts+</a>和<a href="https://link.zhihu.com/?target=https%3A//tutsplus.com/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Tuts+</a>的優秀講師，幾年的教學經歷中，技術狩獵非常廣，尤其是Web開發上，寫過將近500篇的教程。最後新公司的技術堆棧，選擇了Laravel，雖然那會Laravel 還比較年輕（現在也很年輕，這裡是2016），但是Laravel 有一個巨大優勢，那就是基於PHP ，PHP 開發者眾多，潛力無限。</p>
<p>... 省略無數社區鏈接文字，手工加鏈接手累...</p>
<p>我希望Laravel 會是我學習的最後一個框架。因為</p>
<blockquote>
<p>作為工匠，我更願意把我有限的生命用在作品上，而不是對工具的無止境的學習上。</p>
</blockquote>
<p>--</p>
<p>推薦閱讀：</p>
<p><a href="https://www.zhihu.com/question/19558755/answer/23062110" class="internal" data-wpel-link="external" rel="nofollow external noopener noreferrer">最好的PHP框架是什麼？為什麼？</a></p>
<p><a href="https://zhuanlan.zhihu.com/p/24673684" class="internal" data-wpel-link="external" rel="nofollow external noopener noreferrer">數據說話-最火的PHP框架是哪個？ -知乎專欄</a><br /><a href="https://zhuanlan.zhihu.com/p/24519242" class="internal" data-wpel-link="external" rel="nofollow external noopener noreferrer">Laravel第一部中文新手書籍《Laravel入門教程》 -知乎專欄</a></p>
<p>--</p>
</div>
</div>
</article>
<p>The post <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com/software-engineering/laravel/16597/topic-27329575/" data-wpel-link="internal">我為什麼選擇Laravel</a> appeared first on <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com" data-wpel-link="internal">成長駭客交流第一站 - HyperGrowths™</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>如何選擇Laravel 版本？</title>
		<link>https://hypergrowths.com/software-engineering/laravel/16504/topic-26835767/</link>
		
		<dc:creator><![CDATA[marketer]]></dc:creator>
		<pubDate>Thu, 29 Apr 2021 03:39:39 +0000</pubDate>
				<category><![CDATA[Laravel]]></category>
		<category><![CDATA[PHP / Laravel / 全棧]]></category>
		<guid isPermaLink="false">https://hypergrowths.com/software-engineering/laravel/16504/topic-26835767/</guid>

					<description><![CDATA[<p>說明很久以前在一個話題裡面聊到的觀點，很多同學在Laravel 版本選擇時候比較混淆，這裡說下我的看法。對Laravel 框架發布週期不熟悉的同學請參閱- Laravel 的發布路線圖。什麼是LTS長期支持（英語：Long-te…</p>
<p>The post <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com/software-engineering/laravel/16504/topic-26835767/" data-wpel-link="internal">如何選擇Laravel 版本？</a> appeared first on <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com" data-wpel-link="internal">成長駭客交流第一站 - HyperGrowths™</a>.</p>
]]></description>
										<content:encoded><![CDATA[<article class="Post-Main Post-NormalMain">
<header class="Post-Header">
<h1 class="Post-Title">如何選擇Laravel 版本？ </h1>
<div class="Post-Author">
<div class="AuthorInfo"></div>
</div>
</header>
<div class="Post-RichTextContainer">
<div class="RichText ztext Post-RichText">
<h2>說明</h2>
<p>很久以前在一個話題裡面聊到的觀點，很多同學在Laravel 版本選擇時候比較混淆，這裡說下我的看法。</p>
<p>對Laravel框架發布週期不熟悉的同學請參閱- <a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/2594" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Laravel的發布路線圖</a>。</p>
<h2>什麼是LTS</h2>
<blockquote>
<p>長期支持（英語：Long-term support，縮寫：LTS）是一種軟件的產品生命週期政策，特別是開源軟件，它增加了軟件開發過程及軟件版本週期的可靠度。長期支持延長了軟件維護的周期；它也改變了軟件更新（補丁）的類型及頻率以降低風險、費用及軟件部署的中斷時間，同時提升了軟件的可靠性。但這並不必然包含技術支持。</p>
<p>在長期支持週期的開始，軟件設計師會將軟件特性凍結：他們製作補丁來修復程序錯誤及計算機安全隱患，但不會加入新的，可能會造成軟件破壞的功能。軟件維護者可能會單獨發布補丁，或是將其置於維護版本、小數點版本或是服務包中發布。支持週期結束後，其稱之為產品的生命週期結束。</p>
<p> “長期支持”這個術語通常是保留給特殊的軟件版本，其他版本會有更短的生命週期。通常來說，長期支持版本至少會被維護兩年。<br /> From <a href="https://link.zhihu.com/?target=https%3A//zh.wikipedia.org/w/index.php%3Ftitle%3D%25E9%2595%25B7%25E6%259C%259F%25E6%2594%25AF%25E6%258F%25B4%26redirect%3Dno" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">維基百科</a></p>
</blockquote>
<h2>LTS 解決的問題</h2>
<p>終於可以不用被框架的迭代推著走了。並不是因為我守舊，框架的更新換代對一個健康的生態系統來說是很必要的，我也認為程序員應該跟上技術的趨勢，這對保持個人競爭力很重要。但是作為一個龐大的商業項目的基礎框架，一年一次的大版本更新真的是很痛苦的事情，當版本換代時，你會有兩個選擇:</p>
<ol>
<li>更新框架為最新；</li>
<li>沿用老的框架。</li>
</ol>
<p>如果你選擇「1」更新，你會浪費無數個深夜進行代碼遷移和測試，沒有寫自動化測試腳本的話更慘。</p>
<p>並且在這個過程中，你沒有產出新東西，沒有多寫一行業務邏輯代碼，對你自己來說這是在浪費生命，對於企業來說，這是在浪費時間、浪費金錢，最可怕的，浪費機會。</p>
<p>如果你選擇不更新呢，對不起，你放棄了很多能極大提高你開發效率的「擴展包」（如果你是擴展包作者，很多時候，你也不會考慮去兼容淘汰掉的版本），過不了多久，官方甚至會宣布對你的過氣的基礎框架停止維護，包括安全的FIX。</p>
<figure><img decoding="async" src="" data-rawwidth="418" data-rawheight="384" class="content_image" width="418" data-original="https://pic4.zhimg.com/v2-bd1fa11763bdae1f14cbbde696c474a3_b.png"><img decoding="async" src="" data-rawwidth="418" data-rawheight="384" class="content_image lazy" width="418" data-actualsrc="https://pic4.zhimg.com/v2-bd1fa11763bdae1f14cbbde696c474a3_b.png" data-original="data:image/svg+xml;utf8,&lt;svg%20xmlns='http://www.w3.org/2000/svg'%20width='418'%20height='384'&gt;&lt;/svg&gt;"></figure>
<p></p>
<p>Laravel LTS 長期支持版的出現就是為了解決這個問題的，Laravel LTS 的支持窗口是：</p>
<blockquote>
<p>兩年的Bug 修復，三年的安全更新支持。</p>
</blockquote>
<p>對應一般發行版的：</p>
<blockquote>
<p>只提供六個月的Bug 修復支持和一年的安全修復支持。</p>
</blockquote>
<h2>如何選擇？</h2>
<p>從產品生命週期上去考慮：</p>
<ul>
<li>如果是商業項目的話，要走穩定路線，建議選擇LTS 長期支持版，可以避免掉入「更新大黑洞」。</li>
<li>如果是個人項目的話，要走激進路線，推薦使用最新版的Laravel，主要有兩個理由：
<ol>
<li>跟上技術的趨勢，對保持個人競爭力很重要，如果你不想被時代淘汰的話；</li>
<li>知道新框架的技術決策，即使你在開發5.1的應用也是非常有幫助，例如這個<a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/2484" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">路由分割</a>的討論，Laravel 5.3裡已經有非常合理的解決方案，完全可以直接採用，但是如果你不知道5.3 ，那你估計就會發明自己的車輪。</li>
</ol>
</li>
</ul>
<h2>結語</h2>
<p>Laravel LTS is awesome ??</p>
</div>
</div>
</article>
<p>The post <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com/software-engineering/laravel/16504/topic-26835767/" data-wpel-link="internal">如何選擇Laravel 版本？</a> appeared first on <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com" data-wpel-link="internal">成長駭客交流第一站 - HyperGrowths™</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>為什麼你一定要使用Homestead 來開發Laravel 應用？</title>
		<link>https://hypergrowths.com/software-engineering/laravel/16459/topic-26818891/</link>
		
		<dc:creator><![CDATA[marketer]]></dc:creator>
		<pubDate>Thu, 29 Apr 2021 03:23:08 +0000</pubDate>
				<category><![CDATA[Laravel]]></category>
		<category><![CDATA[PHP / Laravel / 全棧]]></category>
		<guid isPermaLink="false">https://hypergrowths.com/software-engineering/laravel/16459/topic-26818891/</guid>

					<description><![CDATA[<p>文章說明運營社區多年，經常遇到很多新手詢問能不能不裝Homestead，有些同學還在損友的推薦下使用了WAMP, MAMP, PHPStudy 等集成環境。個人開發PHP 也有六七年時間了，各種集成環境、自建的Windows 環境等都…</p>
<p>The post <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com/software-engineering/laravel/16459/topic-26818891/" data-wpel-link="internal">為什麼你一定要使用Homestead 來開發Laravel 應用？</a> appeared first on <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com" data-wpel-link="internal">成長駭客交流第一站 - HyperGrowths™</a>.</p>
]]></description>
										<content:encoded><![CDATA[<article class="Post-Main Post-NormalMain">
<header class="Post-Header">
<h1 class="Post-Title">為什麼你一定要使用Homestead 來開發Laravel 應用？ </h1>
<div class="Post-Author">
<div class="AuthorInfo"></div>
</div>
</header>
<div class="Post-RichTextContainer">
<div class="RichText ztext Post-RichText">
<h2>文章說明</h2>
<p>運營社區多年，經常遇到很多新手詢問能不能不裝Homestead，有些同學還在損友的推薦下使用了WAMP, MAMP, PHPStudy 等集成環境。</p>
<p>個人開發PHP 也有六七年時間了，各種集成環境、自建的Windows 環境等都使用過。一路走來，踩坑太多，所以對虛擬機開發環境非常推崇。以至於在<a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/3383/laravel-the-first-chinese-new-book-laravel-tutorial" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">《Laravel教程- Web開發實戰入門》</a>中，Homestead也是作為唯一的學習開發環境。</p>
<p>此篇文章不講太多技術細節，而是從一些反面例子，還有一些過去經驗來告訴你，如果在一開始就用上Homestead，你可以免去很多麻煩。</p>
<h2>踩坑不完全統計</h2>
<h3>1. 多個Laravel 應用數據庫連接錯亂？</h3>
<p>來自文章： <a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/2791/have-you-encountered-multiple-applications-in-the-database-connection-problem" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">大家有沒有遇到多個應用中數據庫連接錯亂問題？</a></p>
<blockquote>
<p>『多個應用中數據庫連接錯亂。同事無意中發現，在多個基於Laravel 的Web 應用中，當應用A進行一個長時間操作時（PHP 會運行超過30s+），在這期間，在應用B 中進行數據庫操作時， B應用會連接到A 應用中的數據庫，而非B 的數據庫。 』</p>
</blockquote>
<p>在此貼中，作者細緻地做了各種分析，估計也是花了不少時間在Debug 這個問題，最後原因是Windows 下的.env 沒加載上。</p>
<h3>2. Lavarel 應用突然無法登錄？</h3>
<p>來自文章： <a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/2490/laravel-login-error-crypt-the-mac-is-invalid" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Laravel登錄報錯Crypt : The Mac is invalid</a></p>
<blockquote>
<p>用lavarel 框架寫的項目，今天登陸突然提示“The MAC is invalid.” 有沒有人遇到過這種情況？</p>
</blockquote>
<p>最後原因是Windows 下的.env 沒加載上，導致系統底層的加密解密功能出錯。</p>
<h3>3. Laravel 不支持高並發？</h3>
<p>來自文章： <a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/2798/laravel-does-not-support-high-concurrency" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Laravel不支持高並發？</a></p>
<blockquote>
<p>我在用$.post 刷一個url 的時候（用鼠標點按鈕觸發，大概一秒鐘3、4次吧），按這個速度，大概每隔個十幾二十次，就會報一個500錯誤： Whoops, looks like something went wrong.沒有更具體的錯誤提示了。</p>
</blockquote>
<p>一個神鬼莫測的問題，讓一個即使是十幾年開發經驗的老鳥，也栽坑里。</p>
<h3>4. .env 不支持中文？</h3>
<p>來自： <a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/2875/about-laravelenv-configuration-does-not-show-the-problem%23%25E8%2583%25BD%25E9%2580%259A%25E8%25BF%2587-env-%25E5%2586%2599%25E5%2585%25A5-Environmentgetenv-%25E5%2587%25BD%25E6%2595%25B0%25E8%25B0%2583%25E7%2594%25A8%25E4%25B8%258D%25E5%2587%25BA%25E6%259D%25A5" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">關於Laravel的.env配置不顯示的問題</a></p>
<blockquote>
<p>在使用laravel 開發的過程中，我把項目名稱放入了.env 配置文件裡面再用env() 方法調用，發現三個中文的情況下只能返回default 值。</p>
</blockquote>
<p>最後作者的答復是：『在Mac 上能正常，Windows上三個字不能顯示。 』</p>
<h3>5. Mac 環境也不行？</h3>
<p>來自： <a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/3782/a-pit-reminder-a-class-or-a-trait-suddenly-can-not-find" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">一個小坑提醒：某個Class或某個Trait突然找不到</a></p>
<blockquote>
<p>“我Mac 本地沒問題啊！”<br /> “但是為什麼Linux 服務器上報這個錯啊？？？”<br /> “太詭異了，這怎麼查？”</p>
</blockquote>
<p>上面幾個例子講的都是坑爹的Windows 開發環境下的BUG。這個例子中，@lijinma 金馬的同事很不幸的踩了Mac 的坑，金馬同學很大方的分享了出來，詳細的解說了這個坑出現的原因，並且也提供了解決方案。</p>
<p>但是其實，最好的解決方案應該是：在一開始開發的時候，就是用Homestead。</p>
<h2>為什麼集成環境不好？</h2>
<p>如果你使用集成環境，或者自己部署的本機Windows/ Mac 開發環境，咱們先來看看有可能導致問題出現的變量有多少：</p>
<ul>
<li>系統變量Mac , 不同版本的Mac 系統，如Mac OS X Public , Mac OS X 10.0 Cheetah,Mac OS X 10.4 Tiger, Mac OS X 10.6 Snow Leopard;</li>
<li>系統變量Windows，不同版本的Windows 系統，如Windows Vista, Windows 7, Windows 8, Windows 10 等；</li>
<li> PHP 的不同版本，Mac 自帶的PHP 閹割版，WAMP 的定製版等...</li>
<li> MySQL 的不同版本；</li>
<li>系統下的其他軟件有時也會影響集成環境的使用（防火牆，系統補丁...）</li>
<li>如果是團隊開發的話，還有你的環境和你隊友的環境... OMG ...</li>
</ul>
<p>以上這些維度搭配起來，會讓複雜度到達非常恐怖的程度，會出現這些神鬼莫測的問題，真是一點都不奇怪。事實上，即使是現在，我每每回想起那些扯著頭髮抓狂的日子，多麼的不堪回首的歲月啊。</p>
<p>也有有些同學會說，『麼事麼事，這些對我來說都不難』。可是你仔細想想，熟悉這些Bug 的意義在哪？這本來就是一條錯的路，即使你能走的再遠。</p>
<blockquote>
<p>為什麼說這是一條錯的路？</p>
</blockquote>
<p>因為使用集成環境，或者各種與『生產環境』<strong>不同</strong>的開發環境，都會面臨以下一個巨大的問題：</p>
<blockquote>
<p>你上線的代碼，有可能無法工作。</p>
</blockquote>
<p>就如這個例子<a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/3782/a-pit-reminder-a-class-or-a-trait-suddenly-can-not-find" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">一個小坑提醒：某個Class或某個Trait突然找不到</a>，他在Mac下代碼工作得好好的，放到Linux服務器下卻無法工作。有時候不止是系統問題，不同版本，如MySQL 5.6 和5.7 差別就挺大，PHP 5.6 和PHP 7 也經常出現代碼不兼容，再加上你使用Memached, Redis....。</p>
<p></p>
<figure><img decoding="async" src="" data-rawwidth="250" data-rawheight="242" class="content_image" width="250" data-original="https://pic4.zhimg.com/v2-af869542a1757df9968e87d0bde13193_b.png"><img decoding="async" src="" data-rawwidth="250" data-rawheight="242" class="content_image lazy" width="250" data-actualsrc="https://pic4.zhimg.com/v2-af869542a1757df9968e87d0bde13193_b.png" data-original="data:image/svg+xml;utf8,&lt;svg%20xmlns='http://www.w3.org/2000/svg'%20width='250'%20height='242'&gt;&lt;/svg&gt;"></figure>
<p></p>
<h2>結語</h2>
<p>Homestead 是一種生活方式，請把這篇文章發給你身邊的Laravel 同志看，讓他們一起來使用Homestead。下次有新手問你可不可以不同Homestead 的話，也可以讓他先看看這篇文章。</p>
<blockquote>
<p>人生苦短，請使用Homestead</p>
</blockquote>
</div>
</div>
</article>
<p>The post <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com/software-engineering/laravel/16459/topic-26818891/" data-wpel-link="internal">為什麼你一定要使用Homestead 來開發Laravel 應用？</a> appeared first on <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com" data-wpel-link="internal">成長駭客交流第一站 - HyperGrowths™</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Laravel 之父Taylor Otwell 是怎樣工作的</title>
		<link>https://hypergrowths.com/software-engineering/laravel/16380/topic-26656223/</link>
		
		<dc:creator><![CDATA[marketer]]></dc:creator>
		<pubDate>Thu, 29 Apr 2021 03:07:09 +0000</pubDate>
				<category><![CDATA[Laravel]]></category>
		<category><![CDATA[PHP / Laravel / 全棧]]></category>
		<guid isPermaLink="false">https://hypergrowths.com/software-engineering/laravel/16380/topic-26656223/</guid>

					<description><![CDATA[<p>此文翻譯自Taylor Otwell 的專欄文章，以下第一人稱為Taylor 本人我經常被詢問到我一天的各個方面：我如何管理我的時間、我使用哪些工具、我喜歡什麼編輯器和配色方案時什麼？所以，我嘗試在這篇文章中回答這些…</p>
<p>The post <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com/software-engineering/laravel/16380/topic-26656223/" data-wpel-link="internal">Laravel 之父Taylor Otwell 是怎樣工作的</a> appeared first on <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com" data-wpel-link="internal">成長駭客交流第一站 - HyperGrowths™</a>.</p>
]]></description>
										<content:encoded><![CDATA[<article class="Post-Main Post-NormalMain">
<header class="Post-Header">
<h1 class="Post-Title">Laravel 之父Taylor Otwell 是怎樣工作的</h1>
<div class="Post-Author">
<div class="AuthorInfo"></div>
</div>
</header>
<div class="Post-RichTextContainer">
<div class="RichText ztext Post-RichText">
<blockquote>
<p>此文翻譯自Taylor Otwell的<a href="https://link.zhihu.com/?target=https%3A//medium.com/%40taylorotwell/how-i-work-a22010d1ad82%23.bmtz5sm3x" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">專欄文章</a>，以下第一人稱為Taylor本人</p>
</blockquote>
<p>我經常被詢問到我一天的各個方面：我如何管理我的時間、我使用哪些工具、我喜歡什麼編輯器和配色方案時什麼？所以，我嘗試在這篇文章中回答這些問題。</p>
<h2>日常<a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/4184/laravels-father-taylor-otwell-how-to-work%23%25E6%2597%25A5%25E5%25B8%25B8" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">#</a></h2>
<p>我在我的家庭辦公室全職為Laravel 工作。我通常每天上午8 點鐘進入辦公室，開始回复前天晚上收到的Forge、Envoyer 和Spark 客戶郵件。我在Mac 上使用Apple Mail，在iOS 上使用Outlook。通常會有15 封左右的郵件需要回复，我喜歡清空我的收件箱，然後再繼續做其他事情。我全天都會定期訪問我的電子郵件，以保持清空。<br />收件箱清空之後，我開始查看Laravel Github 存儲庫中的所有出色的PR。我試圖保持整個Laravel 組織每次合併的PR 數目不超過10 到12 個。我處理郵件和PR的工作通常會持續到上午9點鐘， <a href="https://link.zhihu.com/?target=https%3A//github.com/themsaid" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Mohamed</a>幫助我審查和分類Github的issues和PR。<br />當我合併或者關閉了前一夜的所有新PR 之後，我便準備開始一些Laravel 相關的項目。最近，我主要在為Horizon 工作，開發一個新的Laravel 包，我會在Laracon US 會上詳細講解。<br />我在下午5 點鐘結束工作，去吃晚飯，和陪伴我的家人。晚上9:30 左右，我會重新訪問我的電子郵件，清除下午5 點之後進來的郵件。這通常需要10 至15 分鐘，以幫助我減少早上的郵件負擔。</p>
<h2>開發機和辦公環境<a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/4184/laravels-father-taylor-otwell-how-to-work%23%25E5%25BC%2580%25E5%258F%2591%25E6%259C%25BA%25E5%2592%258C%25E5%258A%259E%25E5%2585%25AC%25E7%258E%25AF%25E5%25A2%2583" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">#</a></h2>
<p>我的主要開發機是一台4Ghz 處理器、16GB 內存的5K iMac，並且有兩台額外的<a href="https://link.zhihu.com/?target=http%3A//item.jd.com/10340326544.html" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">24” 4K顯示器</a>分別在iMac 兩側。我將額外的顯示器的背景設置為非常深的灰色，它們在我不使用時看起來似乎是關閉著的。這將保持所有的像素顯示都很顯眼。</p>
<figure><img decoding="async" src="https://hypergrowths.com/wp-content/uploads/2021/04/v2-8c1e880bea1c60ee36827aa8a4719ec2_r.jpg" data-rawwidth="800" data-rawheight="600" class="origin_image zh-lightbox-thumb" width="800" data-original="https://pic3.zhimg.com/v2-8c1e880bea1c60ee36827aa8a4719ec2_b.png" title="v2-8c1e880bea1c60ee36827aa8a4719ec2_r"><img decoding="async" src="https://hypergrowths.com/wp-content/uploads/2021/04/v2-8c1e880bea1c60ee36827aa8a4719ec2_r.jpg" data-rawwidth="800" data-rawheight="600" class="origin_image zh-lightbox-thumb lazy" width="800" data-original="data:image/svg+xml;utf8,&lt;svg%20xmlns='http://www.w3.org/2000/svg'%20width='800'%20height='600'&gt;&lt;/svg&gt;" data-actualsrc="https://pic3.zhimg.com/v2-8c1e880bea1c60ee36827aa8a4719ec2_b.png" title="v2-8c1e880bea1c60ee36827aa8a4719ec2_r"></figure>
<p>我有一把<a href="https://link.zhihu.com/?target=http%3A//store.steelcase.com/seating/office-chairs/leap" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Steelcase Leap</a>椅子，一個<a href="https://link.zhihu.com/?target=http%3A//search.jd.com/search%3Fkeyword%3Dswell%25E4%25BF%259D%25E6%25B8%25A9%25E6%259D%25AF%26enc%3Dutf-8%26stop%3D1%26vt%3D2%26wq%3Dswell%2520%25E4%25BF%259D%25E6%25B8%25A9%25E5%25A3%25B6" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Swell保溫杯</a>，和一個<a href="https://link.zhihu.com/?target=http%3A//search.jd.com/Search%3Fkeyword%3DFidget%2520Cube%26enc%3Dutf-8%26pvid%3D1a1f8f8d0500413ab0be7b119f07d6c4" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Fidget Cube</a>。辦公室的屋頂有一個<a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/4184/item.jd.com/11286716573.html" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">飛利浦Hue</a>照明。</p>
<h2>開發工具<a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/4184/laravels-father-taylor-otwell-how-to-work%23%25E5%25BC%2580%25E5%258F%2591%25E5%25B7%25A5%25E5%2585%25B7" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">#</a></h2>
<h3>編輯器<a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/4184/laravels-father-taylor-otwell-how-to-work%23%25E7%25BC%2596%25E8%25BE%2591%25E5%2599%25A8" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">#</a></h3>
<p>我的主力文本編輯器是Sublime Text 3。我主要是用<a href="https://link.zhihu.com/?target=https%3A//github.com/buymeasoda/soda-theme" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Soda</a>主題和<a href="https://link.zhihu.com/?target=https%3A//github.com/sethlopezme/InspiredGitHub.tmtheme" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Inspired GitHub</a>配色方案。我使用<a href="https://link.zhihu.com/?target=https%3A//www.typography.com/fonts/operator/styles/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Operator Fonts</a>作為我的主要編程字體。我使用<a href="https://link.zhihu.com/?target=http%3A//www.sublimelinter.com/en/latest/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">SublimeLinter</a>在Sublime中檢查PHP語法。<br />我的整個Sublime Text 參數文件如下：</p>
<div class="highlight">
<pre><code class="language-text">{ "added_words": [ "Laravel" ], "caret_style": "phase", "color_scheme": "Packages/User/SublimeLinter/One Dark (SL).tmTheme", "ensure_newline_at_eof_on_save": true, "findreplace_small": true, "font_face": "OperatorMono-Book", "font_size": 15, "highlight_line": false, "hot_exit": false, "ignored_packages": [ "SublimeLinter-jshint", "Vintage" ], "line_numbers": true, "line_padding_bottom": 9, "line_padding_top": 9, "phpunit-sublime-terminal": "iTerm", "remember_open_files": false, "show_definitions": false, "show_panel_on_build": false, "tab_size": 4, "tabs_small": false, "theme": "Soda Dark.sublime-theme", "translate_tabs_to_spaces": true, "trim_trailing_white_space_on_save": true, "word_wrap": false }</code></pre>
</div>
<p>在開發時，我通常保持我的實際Sublime 字體大小約為10。</p>
<h3>終端<a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/4184/laravels-father-taylor-otwell-how-to-work%23%25E7%25BB%2588%25E7%25AB%25AF" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">#</a></h3>
<p>我使用<a href="https://link.zhihu.com/?target=https%3A//www.iterm2.com/index.html" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">iTerm2</a>和<a href="https://link.zhihu.com/?target=https%3A//github.com/robbyrussell/oh-my-zsh" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Oh My Zsh</a> ，和其內置的“robbyrussell”提示符風格。我使用<a href="https://link.zhihu.com/?target=https%3A//github.com/mbadolato/iTerm2-Color-Schemes/blob/master/schemes/Arthur.itermcolors" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Arthur</a>配色方案，並在iTerm2中增加行間距，使得行與行之間有呼吸空間。和Sublime一樣，我使用<a href="https://link.zhihu.com/?target=https%3A//www.typography.com/fonts/operator/styles/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Operator Fonts</a>作為終端字體。</p>
<h3>數據庫<a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/4184/laravels-father-taylor-otwell-how-to-work%23%25E6%2595%25B0%25E6%258D%25AE%25E5%25BA%2593" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">#</a></h3>
<p>我使用<a href="https://link.zhihu.com/?target=https%3A//www.sequelpro.com/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Sequel Pro</a>來與工作中需要處理的任何MySQL數據庫進行交互。令人吃驚的是，它是免費的。我很樂意為它支付數百美金。我使用<a href="https://link.zhihu.com/?target=http%3A//getmedis.com/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Medis</a>與Redis交互。</p>
<h3>SaaS服務<a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/4184/laravels-father-taylor-otwell-how-to-work%23SaaS-%25E6%259C%258D%25E5%258A%25A1" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">#</a></h3>
<p>我使用多個不同的服務，來運行Forge 和Envoyer：</p>
<ul>
<li><a href="https://link.zhihu.com/?target=https%3A//www.digitalocean.com/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">DigitalOcean</a>服務器；</li>
<li> <a href="https://link.zhihu.com/?target=http%3A//linode.com/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Linode</a>更多的服務器；</li>
<li> <a href="https://link.zhihu.com/?target=http%3A//cloudflare.com/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Cloudflare</a> DNS和SSL；</li>
<li> <a href="https://link.zhihu.com/?target=http%3A//ottomatik.io/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Ottomatik</a>數據庫備份；</li>
<li> <a href="https://link.zhihu.com/?target=https%3A//aws.amazon.com/cn/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">AWS</a>存儲和隊列；</li>
<li> <a href="https://link.zhihu.com/?target=https%3A//pusher.com/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Pusher</a>實時事件；</li>
<li> <a href="https://link.zhihu.com/?target=https%3A//www.authy.com/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Authy</a>雙因子認證。</li>
</ul>
<h2>生產力<a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/4184/laravels-father-taylor-otwell-how-to-work%23%25E7%2594%259F%25E4%25BA%25A7%25E5%258A%259B" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">#</a></h2>
<p>我主要使用<a href="https://link.zhihu.com/?target=http%3A//www.bear-writer.com/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Bear</a> 、 <a href="https://link.zhihu.com/?target=https%3A//www.wunderlist.com/zh/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">奇妙清單</a>和<a href="https://link.zhihu.com/?target=https%3A//trello.com/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Trello</a>來保持事務的組織化。作為Apple 備忘錄的替代品，我在Bear 中有非常多的筆記。我使用奇妙清單作為個人事務清單，和所有邊緣項目的任務清單。我使用Trello 來跟踪Laravel 相關的任務，如即將到來的功能，或我需要編寫文檔的重大變化。<br />我還創建了一個小的Laravel 應用，為我發送Telegram 提醒，例如：倒垃圾、更改房屋空氣過濾器、每月報稅，等等。這個應用使用Laravel 的調度功能，利用Guzzle 通過Telegram 的API 發送消息。</p>
<h2>音樂<a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/4184/laravels-father-taylor-otwell-how-to-work%23%25E9%259F%25B3%25E4%25B9%2590" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">#</a></h2>
<p>我整天都使用<a href="https://link.zhihu.com/?target=https%3A//www.spotify.com/us/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Spotify</a>聽音樂。我最喜歡的播放列表有： <a href="https://link.zhihu.com/?target=https%3A//play.spotify.com/user/spotify/playlist/6Y5oLMTb9CdZ9eO1v6ns7F%3Fplay%3Dtrue%26utm_source%3Dopen.spotify.com%26utm_medium%3Dopen" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Night Rider</a> 、 <a href="https://link.zhihu.com/?target=https%3A//open.spotify.com/user/spotify/playlist/1SvdCw4FMhqxo7dj8uYNxb" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Lush + Atmospheric</a>和<a href="https://link.zhihu.com/?target=https%3A//open.spotify.com/user/spotify/playlist/2yLXxKhhziG2xzy7eyD4TD" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">RetroWave / Outrun</a> 。</p>
<p></p>
<blockquote><p>討論請前往： <a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/4184/laravels-father-taylor-otwell-how-to-work" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Laravel之父Taylor Otwell是怎樣工作的</a></p></blockquote>
</div>
</div>
</article>
<p>The post <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com/software-engineering/laravel/16380/topic-26656223/" data-wpel-link="internal">Laravel 之父Taylor Otwell 是怎樣工作的</a> appeared first on <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com" data-wpel-link="internal">成長駭客交流第一站 - HyperGrowths™</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>學習Laravel 更有效率的七個建議</title>
		<link>https://hypergrowths.com/software-engineering/laravel/16311/topic-26399767/</link>
		
		<dc:creator><![CDATA[marketer]]></dc:creator>
		<pubDate>Thu, 29 Apr 2021 02:50:48 +0000</pubDate>
				<category><![CDATA[Laravel]]></category>
		<category><![CDATA[PHP / Laravel / 全棧]]></category>
		<guid isPermaLink="false">https://hypergrowths.com/software-engineering/laravel/16311/topic-26399767/</guid>

					<description><![CDATA[<p>隨著社區的發展，已經出現了很多現成的資源可以幫助你學習Laravel。看起來很不錯不是嗎？不過，你該如何選擇最好的一個？或者說，究竟哪個更適合你並且更有效率地幫助你去學習？面對Laravel 這個精進不斷的框架…</p>
<p>The post <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com/software-engineering/laravel/16311/topic-26399767/" data-wpel-link="internal">學習Laravel 更有效率的七個建議</a> appeared first on <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com" data-wpel-link="internal">成長駭客交流第一站 - HyperGrowths™</a>.</p>
]]></description>
										<content:encoded><![CDATA[<article class="Post-Main Post-NormalMain">
<header class="Post-Header">
<h1 class="Post-Title">學習Laravel 更有效率的七個建議</h1>
<div class="Post-Author">
<div class="AuthorInfo"></div>
</div>
</header>
<div class="Post-RichTextContainer">
<div class="RichText ztext Post-RichText">
<p>隨著社區的發展，已經出現了很多現成的資源可以幫助你學習Laravel。看起來很不錯不是嗎？不過，你該如何選擇最好的一個？或者說，究竟哪個更適合你並且更有效率地幫助你去學習？面對Laravel 這個精進不斷的框架，我相信你也提出過這些問題。這裡有七個建議，希望可以幫助你更有效地學習Laravel。</p>
<p>當中有一些提示只適用於對Laravel 的學習，而其他的也適用於對任何編程語言或框架的學習。</p>
<h2>1.講真，不要從官方文檔開始學習<a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/4192/seven-tips-for-learning-more-efficient-laravel%231-%25E8%25AE%25B2%25E7%259C%259F%25E4%25B8%258D%25E8%25A6%2581%25E4%25BB%258E%25E5%25AE%2598%25E6%2596%25B9%25E6%2596%2587%25E6%25A1%25A3%25E5%25BC%2580%25E5%25A7%258B%25E5%25AD%25A6%25E4%25B9%25A0" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">#</a></h2>
<p>新手通常乾的第一件事就是看Laravel的<a href="https://link.zhihu.com/?target=https%3A//laravel.com/docs/5.3" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">官方文檔</a>。標題黨不要誤會我的意思，Laravel 的文檔寫得那個是相當給力的！但是，大抵是編寫文檔的人多多少少期望讀者懂得一些關於PHP 的生態系統和現代工具的知識。</p>
<p>例如，文檔的第一部分是安裝，但它不只是「下載和安裝」。你必須要知道如何使用Composer 、如何使用終端或命令行、如何運行命令、如何讓Web 服務器工作等。</p>
<h2>2.先學習PHP、面向對象、終端和Composer <a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/4192/seven-tips-for-learning-more-efficient-laravel%232-%25E5%2585%2588%25E5%25AD%25A6%25E4%25B9%25A0-PHP%25E9%259D%25A2%25E5%2590%2591%25E5%25AF%25B9%25E8%25B1%25A1%25E7%25BB%2588%25E7%25AB%25AF%25E5%2592%258C-Composer" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">#</a></h2>
<p>學習這些聽起來很有趣，但我看到越來越多想學習Laravel 的人都不先從學習PHP 開始。就好像那些想使用jQuery 卻不去學習任何JavaScript 的人。框架的存在並不是為了帶給你學習的捷徑，還是腳踏實地，從基礎開始。</p>
<p>要開始學習任何現代PHP 框架（Laravel、Symfony 或者其他），你需要熟練使用PHP。特別是面向對象編程。所有框架都是用面向對像模式編寫的，你需要流利地使用類、對象、屬性、方法、依賴、traits 和其他「關鍵字」。</p>
<p>一般來說，我建議你至少創建一個使用純PHP 而不是使用任何框架去搭建的簡單的項目。這樣才能讓你更好地去了解PHP，更有效地利用Laravel 內部的函數。</p>
<p>另外，在我看來，是Composer 這個工具使得PHP 更加強大。了解Composer 會讓你懂得如何充分地利用Laravel 的依賴，這是現代PHP 開發的重要組成部分。</p>
<p>還有終端，即OS 系統的Terminal 和Windows 系統的cmd。同樣，現代PHP 框架會使用命令來執行大部分功能，例如生成代碼、安裝庫、更改設置、部署運行等。你必須了解這些基本知識。</p>
<p>上述一切都是在你在開始Laravel 之前需要知道的。看到這裡突然慫了麼？別怕！這只是建議的開始。</p>
<h2>3. 書、課程或視頻？免費或付費？ <a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/4192/seven-tips-for-learning-more-efficient-laravel%233-%25E4%25B9%25A6%25E8%25AF%25BE%25E7%25A8%258B%25E6%2588%2596%25E8%25A7%2586%25E9%25A2%2591%25E5%2585%258D%25E8%25B4%25B9%25E6%2588%2596%25E4%25BB%2598%25E8%25B4%25B9" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">#</a></h2>
<p>很多人在學一樣東西的時候都會先問的問題：有什麼最好入門的方法麼？每個人的選擇方式都不同，有些人喜歡通過看書來學習，而有些人更喜歡直觀易懂的視頻課程。任何一種方式都很好。但前提你要找的內容應該是相對穩定、結構合理的。而不是從YouTube 找一些隨機文章或視頻，它不會給你想要的結果。你需要作者前後一致地去闡述這些內容。否則，你可能會很容易就懵圈，而無法理解更深一層的課程。</p>
<p>這也是免費課程和付費課程的根本區別。有人說你學習編程只需要多上網查資料，因為這上面有大量免費的訊息。這是真的，但如果你選擇這種方式去學習，你就得花費大量不必要的時間將這些內容結合到一起。而付費的課程或書籍通常是最好的，因為這些內容是專門為了方便你學習而準備的，所以你不需要把時間花在找這些內容上面。 （如果能站在巨人的肩膀上，為什麼不呢？）</p>
<p>以下是我推薦三個的資源：</p>
<ul>
<li><a href="https://link.zhihu.com/?target=https%3A//amzn.to/2aY1vIU" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Laravel Up &amp; Running</a> ——由Matt Stauffer寫的書</li>
<li><a href="https://link.zhihu.com/?target=https%3A//laracasts.com/series/laravel-5-from-scratch" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Laravel from Scratch</a> —— Laracasts系列視頻</li>
<li><a href="https://link.zhihu.com/?target=https%3A//code.tutsplus.com/courses/get-started-with-laravel-5" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Get Started With Laravel 5</a> —— Tutsplus的課程</li>
</ul>
<p>上面都是些國外的學習資源，英語不行？別怕，硬著頭皮上還是能看懂的。當然也有國內的資源：</p>
<ul>
<li><a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/3383/laravel-the-first-chinese-new-book-laravel-tutorial" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Laravel入門教程</a>——由Laravel China社區<a href="https://link.zhihu.com/?target=http%3A//weibo.com/1837553744/profile%3Frightmod%3D1%26wvr%3D6%26mod%3Dpersoninfo" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Summer</a> &amp; <a href="https://link.zhihu.com/?target=http%3A//weibo.com/u/1994161947%3Ftopnav%3D1%26wvr%3D6%26topsug%3D1" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">李錦發（Aufree）</a>寫的中文教程</li>
</ul>
<p>而關於如何更好的學習PHP 的書，@overtrue 安正超大神總會推荐一本《 深入PHP:面向對象、模式與實踐》。<br /> （當然還有更多更好的書，也希望更多有心人士能舉荐一二）</p>
<h2>4.停止閱讀，寫bug去<a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/4192/seven-tips-for-learning-more-efficient-laravel%234-%25E5%2581%259C%25E6%25AD%25A2%25E9%2598%2585%25E8%25AF%25BB%25E5%2586%2599-bug-%25E5%258E%25BB" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">#</a></h2>
<p>沒敲過代碼沒寫過bug 是不可能學會任何編程。不要花太多時間看書或著看視頻，儘早開始打碼。事實上，在完成每節課程或讀完每個章節之後，就應該立刻開始進行編碼練習。</p>
<p>一般來說，我建議你在學習過程中創建一個測試項目，它使這個過程不僅更現實，而且更有激勵。沒有懷抱適當的目標和某種目的，在情感上來說是很難繼續學習理論。</p>
<p>如果你只寫代碼，你會碰到障礙以及遇到很多要問的問題。通過遇到問題和克服它們，你的知識面不斷擴大從而成為真正的開發人員。 （只是要多放點耐心進去，把打怪升級刷副本的鬥志拿出來就好！）</p>
<h2>5.學習使用Google和StackOverflow <a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/4192/seven-tips-for-learning-more-efficient-laravel%235-%25E5%25AD%25A6%25E4%25B9%25A0%25E4%25BD%25BF%25E7%2594%25A8-Google-%25E5%2592%258C-StackOverflow" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">#</a></h2>
<p>雖然與Laravel 不直接相關，但是這很重要。你不會百度麼？趕緊Google 去呀！對於程序員來說，找張梯子不是什麼難事。知道Google 和百度的區別麼？不知道啊？那去Google 一下呀！</p>
<p>StackOverflow 是一個與程序相關的IT技術問答網站。一般你上Google 搜索問題的解決方案，通常第一批被搜索出來的內容都是來源於StackOverflow 。</p>
<p>那麼問題來了！你會提問麼？哈哈，你可能會質疑「什麼叫做會提問」，推薦你不妨先去看看<a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/2396" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">提問的智慧中文版</a>。<br />通常，每個論壇和社區都有自己的文化、規則和行為期望，比如Laravel China社區的<a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/topics/3022/community-posting-and-management" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">社區發帖和管理規範</a>。而你在技術社區，不僅僅只是閱讀人家發的技術貼，你還可以以正確的方式和風格提出問題。如果你有禮貌、耐心和尊重，你就會有更多機會去得到大牛的幫助。</p>
<h2>6.找個導師<a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/4192/seven-tips-for-learning-more-efficient-laravel%236-%25E6%2589%25BE%25E4%25B8%25AA%25E5%25AF%25BC%25E5%25B8%2588" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">#</a></h2>
<p>學習編程的最大問題是當某些東西不起作用時你不懂得排除問題。這個問題的最佳解決方案是向別人尋求幫助。論找個大神幫助你的重要性！</p>
<p>你應該在哪裡找導師？在你的社交圈中，無論是線下的還是線上的。學校裡的師兄師姐或者上社區論壇上的大牛，相信我，只要他們不忙，而你提出的問題不算太愚蠢，他們是很樂意幫助你的。渠道當然是自己找，在社區提問，或者私信他們。</p>
<h2>7.不要放棄<a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/4192/seven-tips-for-learning-more-efficient-laravel%237-%25E4%25B8%258D%25E8%25A6%2581%25E6%2594%25BE%25E5%25BC%2583" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">#</a></h2>
<p>正如在上一個提示中提到的，當遇到一個你不能解決的問題，會很容易放棄學習。也許這就是為什麼這麼多人開始學習，但實際上只有少數成為專業開發人員的原因。世上不會總是有彩虹和蝴蝶，這條道路會總是充滿問題。困難的問題、自我的懷疑、甚至你會有想把電腦扔出窗外的念頭。然而每個開發者都在經歷這一切，而且從未中斷過。相信我，無論發生什麼，你要做的事情是繼續，堅持繼續，再繼續。當你開始有創造力，當你可以輕易地將你腦海裡萌生的東西實現，你會明白這一切都是值得的。</p>
<p>最後，談到不斷進步，我最後的建議是不要讓學習課程與休息之間間隔太長。每週或甚至每天不斷學習新的東西。它就像是一種鍛煉，如果你錯過了一天，很難找回節奏。 （唯有堅持學習，堅持不斷學習，才是王道）</p>
<p>以上就是我的建議，我希望你會找到你最好的學習方式，說不定有一天，我們會為了創建一個了不起的Laravel 項目而在一起工作！</p>
<p></p>
<blockquote><p>來自<a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/articles/4192/seven-tips-for-learning-more-efficient-laravel" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">關於學習Laravel更有效率的七個建議</a></p></blockquote>
</div>
</div>
</article>
<p>The post <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com/software-engineering/laravel/16311/topic-26399767/" data-wpel-link="internal">學習Laravel 更有效率的七個建議</a> appeared first on <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com" data-wpel-link="internal">成長駭客交流第一站 - HyperGrowths™</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Laravel 第一部中文新手書籍《Laravel 入門教程》</title>
		<link>https://hypergrowths.com/software-engineering/laravel/16244/topic-24519242/</link>
		
		<dc:creator><![CDATA[marketer]]></dc:creator>
		<pubDate>Thu, 29 Apr 2021 02:14:48 +0000</pubDate>
				<category><![CDATA[Laravel]]></category>
		<category><![CDATA[PHP / Laravel / 全棧]]></category>
		<guid isPermaLink="false">https://hypergrowths.com/software-engineering/laravel/16244/topic-24519242/</guid>

					<description><![CDATA[<p>鏈接關於《Laravel 入門教程》購買本書說明Laravel 是出了名的學習門檻高，雖然有很棒的文檔，可惜文檔的目的是為了快速查閱框架功能，對於新手來說並不友好。在Laravel China 社區上，也經常看到新手因為沒有…</p>
<p>The post <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com/software-engineering/laravel/16244/topic-24519242/" data-wpel-link="internal">Laravel 第一部中文新手書籍《Laravel 入門教程》</a> appeared first on <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com" data-wpel-link="internal">成長駭客交流第一站 - HyperGrowths™</a>.</p>
]]></description>
										<content:encoded><![CDATA[<article class="Post-Main Post-NormalMain">
<header class="Post-Header">
<h1 class="Post-Title">Laravel 第一部中文新手書籍《Laravel 入門教程》 </h1>
<div class="Post-Author">
<div class="AuthorInfo"></div>
</div>
</header>
<div class="Post-RichTextContainer">
<div class="RichText ztext Post-RichText">
<p>鏈接</p>
<ul>
<li><a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/laravel-tutorial/5.1/about" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">關於《Laravel入門教程》</a></li>
<li> <a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/laravel-tutorial/5.1/buy-it" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">購買本書</a></li>
</ul>
<h2>說明</h2>
<p>Laravel是出了名的學習門檻高，雖然有很棒的<a href="https://link.zhihu.com/?target=https%3A//laravel-china.org/docs/home" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">文檔</a>，可惜文檔的目的是為了快速查閱框架功能，對於新手來說並不友好。在<a href="https://link.zhihu.com/?target=http%3A//Laravel%2520China%2520%25E7%25A4%25BE%25E5%258C%25BA%2520-%2520%25E9%259D%25A0%25E8%25B0%25B1%25E7%259A%2584%2520Laravel%2520%25E5%2592%258C%2520PHP%2520%25E5%25BC%2580%25E5%258F%2591%25E8%2580%2585%25E7%25A4%25BE%25E5%258C%25BA%2520-%2520Powered%2520by%2520PHPHub" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Laravel China社區</a>上，也經常看到新手因為沒有一個好的入門學習，而遇到各種奇奇怪怪的問題，如使用Windows作為開發環境導致.env加載錯亂花了一個多星期DEBUG到白頭髮多了好幾根。有時候可以在他們貼出來的代碼中看到非常糟糕的編碼習慣，如把業務邏輯寫在routes.php 文件裡。如果在學習的一開始，有好的入門課程，很多這些彎路都是可以避免。</p>
<p>萌生寫這本書的念頭已經有一兩年了，因為創業中有很多挑戰，個人職能的改變（架構師、技術合夥人、UI 設計師、產品設計師、創始人），有很多東西要學，怕精力不夠用，所以遲遲未敢下筆。期間也一直在觀察，希望有人會寫這樣的一本書，那樣我就有退卻的理由。直到有一天<a href="https://link.zhihu.com/?target=http%3A//Aufree%2520%25E4%25B8%25AA%25E4%25BA%25BA%25E4%25BF%25A1%25E6%2581%25AF_Laravel%2520China%2520%25E7%25A4%25BE%25E5%258C%25BA" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">發哥</a>對我建議，我們可以一起寫，我有<a href="https://link.zhihu.com/?target=http%3A//estgroupe.com/projects" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">項目開發經驗</a>，他有時間。終於，在8月份開始起稿《Laravel入門教程》 <a href="https://link.zhihu.com/?target=http%3A//tutorial.laravel-china.org" class=" external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external"><span class="invisible">http://</span> <span class="visible">tutorial.laravel-china.org</span></a> ，中間因為<a href="https://link.zhihu.com/?target=http%3A//estgroupe.com/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">公司業務變動</a>的事情，斷斷續續的寫著，最終在今日面世。</p>
<p>寫書真不簡單，尤其是寫一本Laravel 入門的書籍，更是難度很高，要把控好技術話題的數量，不能一次性暴露太多訊息給讀者，避免新手的閱讀難度太大。另一方面又兼顧實用性，讓讀者能真正從中學到技能。此中的權衡，也是這本書遲遲未出世的一個原因。</p>
<h2>本書的特色：</h2>
<ul>
<li>定位為現代化Web 開發新手入門，Git 工作流、前端工作流、Github 使用等；</li>
<li>使用Laravel LTS 作為框架版本；</li>
<li>一步一步構建一個完整的項目，讀者可以很輕鬆的跟著書的線索動手做下去；</li>
<li>使用真實項目開發中的流程工具，如：Git，Github，Gulp，代碼上線等；</li>
<li>最佳實踐，代碼中加入許多最佳實踐，讓新手從一開始就養成好習慣；</li>
<li>崇尚「DRY（Don't repeat yourself）不要重複自己」，讓讀者能真切體驗到使用Laravel 開發的愉悅感；</li>
</ul>
<h3>《Laravel 入門教程》適用於以下用戶</h3>
<ul>
<li>幾乎零基礎，想入門Web 開發的；</li>
<li>有PHP 經驗，準備學習Laravel 的同學；</li>
<li>學過Laravel 但是遇到阻力的；</li>
<li>全棧工程師入門課程。</li>
</ul>
<h3>後續教程</h3>
<p>目前計劃中有：</p>
<ul>
<li>《Laravel 進階教程》</li>
<li> 《Laravel 開發規範》</li>
<li> 《Laravel 實戰- 構建API》</li>
<li> 《iOS 開發》</li>
<li> 《安卓開發》</li>
</ul>
<p>因為正在運營一家技術公司<a href="https://link.zhihu.com/?target=http%3A//estgroupe.com/" class=" external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external"><span class="invisible">http://</span> <span class="visible">estgroupe.com/</span></a> ，工程實力將會是我們的核心競爭力，所以我計劃把這一系列課程打造為一套全棧工程師的培訓課程，這套課程也會成為我們公司的工程師技術培訓教材。</p>
<blockquote>
<p>封面由Laravel China的創始人兼首席體驗官，設計師<a href="https://link.zhihu.com/?target=http%3A//xn--overtrue%2520_laravel%2520china%2520-df71cx7hfomcv3apo6h9w0i/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">安正超</a>設計。</p>
</blockquote>
<p></p>
<p><a href="https://link.zhihu.com/?target=https%3A//github.com/summerblue" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">Summer</a> | <a href="https://link.zhihu.com/?target=http%3A//estgroupe.com/" class=" wrap external" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">優帆遠揚</a>-創造不息，交付不止</p>
<p>​</div>
</div>
</article>
<p>The post <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com/software-engineering/laravel/16244/topic-24519242/" data-wpel-link="internal">Laravel 第一部中文新手書籍《Laravel 入門教程》</a> appeared first on <a rel="nofollow noopener noreferrer" href="https://hypergrowths.com" data-wpel-link="internal">成長駭客交流第一站 - HyperGrowths™</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
