-
- 謝辞
-
改訂履歴
- 感謝の辞
-
協力のお願い
- 翻訳
- Github上のソースコード
-
ようこそ
-
第1章 この本の目的
- この本で行わないこと
- では、何を教えるのでしょう。
- 第2章 読んでいるのは、誰ですか?
- 第3章 私は誰でしょう?
- 第4章 Laravelって、何?
- 第5章 Laravel使用の正当性
- 第6章 なぜプログラマーはLaravelを好むのか
- 第7章 Wordpress:良い点、悪い点、ひどい点
-
第8章 本書の規約
- どんなOSを使用しているか?
-
第1章 この本の目的
-
パート1 設計哲学と原則
- 第9章 ヤッハー!カウボーイコーディングは最高だぜ
-
第10章 プログラマーは全員違う
- 素早い試金石
-
第11章 分離は素敵
- 全ては脱毛のために
- シンプルな分離の例
- 第12章 WETプログラムを行うな
-
第13章 依存注入
- ステップ1 依存の決定をクラスのレベルへ移動する
- ステップ2 手動で注入する
- ステップ3 自動注入を使用する
-
第14章 制御の逆転
- 一般的な例
- IoCコンテナ
-
第15章 契約としてのインターフェイス
- インターフェイスはコードを隠す
-
第16章 堅牢(SOLID)なオブジェクト設計
- 単一責任原則
- 開放/閉鎖原則
- リスコフ置換原則
- インターフェイス分離原則
- 依存逆転原則
-
第17章 設計の汚い、小さな秘密
- 小説家のようにプログラミングする
-
パート2 アプリケーションの設計
-
第18章 どんなアプリケーションを作成するのか?
- アプリケーションの名前
- GTDとは何?
-
第19章 Laravelのインストール
- プロジェクトを作成する
- プロジェクトの構成
- 不必要なディレクトリーを削除する
- ソースディレクトリーを作成する
- Composerをupdateする
- インストール結果を確認する
-
第20章 ToDoリストを設計する
- データーを設定する
- Laravelの設定と環境
- ToDoリストはどの様な感じになるのか
- 最初のリストとタスクオブジェクト
- TodoRepositoryInterface
-
第21章 タスクについて考える
- TodoTaskInterface
- TaskCollectionInterface
- 素晴らしきFacadeの世界
-
第22章 TaskListInterfaceの作成
- TaskListInterface
- 小さな再利用
-
第23章 テキストファイルのフォーマット
- ファイルフォーマットのルール
- リスト上のタスクのルール
- それぞれのリストをどう分類するか
-
第24章 アプリケーションの機能
- 機能のながーーいリスト
- Todoファサードの使用
-
第25章 ファサードの計画
- ファサードの要素
- Todoファサードクラスシェル
- Todoファサードの実装
- Todoファサードの実装をテストする
- 一緒にする
- Todoファサードをテストする
-
第26章 途中のリファクタリング
- 霧立ち込める森林の中で
- TaskListInterface
- TaskCollectionInterface
- TodoTaskInterface
- テストで締めくくる
-
第27章 TodoManagerクラスに取りかかる
- TodoManager::makeList()
- Mockeryのインストール
- TodoManager::makelist()をテストする
-
第28章 TodoManagerクラスを仕上げる
- TodoManager::allLists()を作成する
- TodoManager::allLists()をテストする
- TodoManager::get()を作成する
-
第29章 ListInterfaceを実装する
- TodoListシェルを作成する
- ListInterfaceを結合する
- The TodoList::__construct()
- TodoList::save()の実装
- TodoList::set()とTodoList::get()を実装する
- TodoList::set()とTodoList::get()をテストする
- TodoList::save()をテストする
-
第30章 TodoListクラスを仕上げる
- 「リスト属性」メソッドを完了させる
- TodoList::load()の削除
- TodoList::archive()の実装
- TodoList::taskAdd()の実装
- 最後の3つ、TodoList::tasks()、TodoList::taskSet()、Todo::taskRemove()
-
第31章 タスクコレクションとタスククラス
- TaskCollectionクラス
- Taskクラス
- インターフェイスを結合する
-
第32章 TaskCollectionとTaskクラスをテストする
- Taskクラスをテストする
- Taskクラスの中の間違いを修正する
- タイムゾーンの設定を修正する
- TaskCollectionクラスをテストする
-
第33章 TodoRepositoryの実装
- リファクタリングを少々
- TodoRepository
- テストデーターを作成する
- リポジトリーのテスト
-
第18章 どんなアプリケーションを作成するのか?
-
パート3 コンソールアプリケーション
-
第34章 Artisanをスッキリさせる
- 30秒でArtisan
- コマンドはどこにあるの?
- デフォルトのコマンドを取り除く
-
第35章 コマンドの計画
- 計画の計画…メタ計画
- アプリケーションのコマンドリスト
- 新しいリストを作成する
- 全リストのリスト
- リストを編集する
- リストのアーカイブ
- リストのリネーム
- タスクの追加
- タスクを完了にする
- タスクの一覧
- タスクの編集
- タスクの削除
- タスクの移動
- 最終的な全コマンドの一覧
-
第36章 擬似コーディング
- リスト作成擬似コード
- リスト削除擬似コード
- 全リスト一覧表示擬似コード
- リスト編集擬似コード
- リストアーカイブ擬似コード
- アーカイブの解除擬似コード
- リスト名変更擬似コード
- タスク追加擬似コード
- タスク実行擬似コード
- タスク一覧表示擬似コード
- タスク編集擬似コード
- タスク削除擬似コード
- タスク移動擬似コード
- 擬似コードで最後に考えたこと
-
第37章 ヘルパー関数を使用する
- よく使われる関数
- ヘルパー関数を作成する
- ヘルパー関数のユニットテスト
- pick_from_list()の作成
- pick_from_list()をテストする
-
第38章 ListAllCommand
- 計画
- ListAllCommandの作成
- ArtisanにListAllCommandについて知らせる
- fire()メソッドを少し肉付けする
- Symfonyのテーブルヘルパーを使用する
- taskCount()のリファクタリング
- リストIDのソート
-
第39章 CreateCommand
- 計画
- CreateCommandの作成
- all_null()ヘルパーを追加する
- CommandBaseを拡張する
- fire()の実装
-
第40章 UncreateCommand
- 計画
- UncreateCommandを作成する
- コマンドのスタックトレースを取得する
- 実在するリストのため、askForListId()を実装する
- 小さなクリーンアップ
- ユニットテストの修正
-
第41章 EditListCommand
- 計画
- CommandBaseの使用
- EditListCommandを作成する
- ArtisanにEditListCommnadを知らせる
- EditListCommandの事前テスト
- EditListCommand::fire()を仕上げる
-
第42章 ファイルと設定のリファクタリング
- 設定をリファクタリングする
- LaravelのFileクラスを使用するようにリファクタリングする
-
第43章 AddTaskCommand
- 計画
- AddTaskCommandの作成
- fire()メソッドにコードを追加する
- 手動テスト
-
第44章 DoTaskCommand
- 計画
- DoTaskCommandを作成する
- CommandBaseを更新する
- DoTaskCommandをテストする
- バグを潰す
-
第45章 ListTasksCommand
- 計画
- ListTasksCommandを作成する
- ListTasksCommandをテストする
-
第46章 自分のドックフードを食べる
- 「自分のドックフードを食べる」とは何ですか?
- gsd ToDoリストの準備
-
第47章 EditTaskCommand
- 計画
- str2bool()ヘルパーを追加する
- EditTaskCommandを作成する
- TodoList save()のリファクタリング
- EditTaskをテストする
- ドッグフードする
-
第48章 ArchiveListCommandとUnarchiveListCommand
- 計画
- コマンドを作成する
- ArchiveListCommandを更新する
- CommandBaseのバグ修正
- UnarchiveListCommandを修正する
- ドッグフードする
-
第49章 RenameListCommand
- gsd:listのタイトル後の空行
- RenameListCommandの計画
- RenameListCommandを作成する
- ListInterface::delete()を実装する
- ドッグフードする
-
第50章 もう一度、リファクタリング
- CommandBase::abort()を追加する
- askForListId()への追加
- gsdヘルプの整合性を確認する
- ListInterface::delete()を使用する
- 変更したファイル
- ドッグフードする
-
第51章 RemoveTaskCommand
- 計画
- RemoveTaskCommandを作成する
- ドッグフードする
-
第52章 MoveTaskCommand
- 計画
- MoveTaskCommandを生成する
- ドッグフードする
-
第53章 リスト間のタスク一覧
- 計画
- ListAllCommandの更新
- ドッグフードする
-
第54章 コマンドの別名とgsdシェルスクリプト
- コマンドの別名
- エイリアスとマクロの計画
- 別名の実装
- Bashスクリプト
- ドッグフードする
- 第55章 コンソールアプリの次は何?
-
第34章 Artisanをスッキリさせる
-
パート4 Webアプリケーション
-
第56章 Webサーバーを準備する
- Webサーバーのパーミッション
- Apacheを使用する
- Nginxを使用する
- PHPの組み込みサーバーを使用する
- You have arrived
-
第57章 Webアプリケーションの計画
- 最初のアイデア
- AJAXコールの計画
- Javascriptオブジェクトの設計
- ドッグフードする
-
第58章 Webページをモックアップする
- Bootstrapを用意する
- 基本的なテンプレート
- モックアップのために、テンプレートを拡張する
- ドックフードする
-
第59章 ユーザーへのフィードバックを追加する
- ビューの構造
- スケルトンを構築する
- gsdのスタイルとJapvascriptを追加する
- メッセージボックスの追加
- メッセージボックスを関数にする。
- エラーメッセージ関数を実装する
- ドックフードする
-
第60章 AJAXルートのセッテング
- リソースコントローラーを使用する
- ルートを完成させる
- コントローラーを作成する
- ListControllerスケルトンを完成させる
- ListControllerメソッドをテストする
- ドッグフードする
-
第61章 トップナビバーを追加する
- パーシャルビューを作成する
- デフォルトリストをロードする
- ナビバーを構造化する
- 最初のAJAX呼び出しを作成する
- サーバーサイドでREST対応する
- ドックフードする
-
第62章 トップナビバーを仕上げる
- ナビバーにJavascript関数を結びつける
- 結果をナビバーにロードする
- ドッグフードする
-
第63章 サイドナビゲーション
- レイアウトを更新する
- サイドバーを作成する
- AJAXの呼び出しを完成させる
- Javascriptを更新する
- ドッグフードする
-
第64章 タスク
- 反復 No.1 基本構造
- 反復 No.2 アクティブなタスクを表示する
- 反復 No.3 完了済みタスクの表示
- ドッグフードする
-
第65章 タスクの削除
- TaskInterfaceのリファクタリング
- コントローラーを更新する
-
doDelete()Javascriptメソッドの更新 - 完了フラッグを切り替える
- ドッグフードする
-
第66章 タスクの追加と編集
- モーダルタスクフォーム
- Javascript
- taskboxSaveを仕上げる
- ドックフードする
-
第67章 リストのアーカイブとアーカイブ解除
- AJAX archiveメソッドを実装する
- AJAX archive()メソッドを呼び出す
- AJAX unarchiveメソッドの実装
- AJAX unarchive()メソッドを呼び出す
- ドッグフードする
-
第68章 リストの作成とリネーム
- リストモーダルを追加する
- リスト生成Javascriptを追加する
- AJAX storeを呼び出す実装
- 名前変更Javascriptの実装
- AJAX rename呼び出しの実装
- ドックフードする
-
第69章 移動と、それから…
- タスク移動コマンド
- 次はどこへ行くのでしょうか
- 最後に、ありがとうございました。
-
第56章 Webサーバーを準備する
-
追補
- 追補1 Composer
- 追補2 PHP Unit
-
追補3 Apacheの準備
- Apacheのインストール
- パーミッションの修正
- 名前付き仮想ホストの使用
- Ubuntu/Mintで仮想ホストを設定する
-
追補5 Nginxの準備
- Nginxのインストール
- パーミッションを修正する
- Ubuntu/Mintで仮想ホストを準備する
Laravel4でこなすプログラム術 Getting Stuff Done
ホットで最新のフレームワークを使い、アプリケーション設計と開発の旅に出かけよう
Minimum price
$29.99
$39.99
You pay
$39.99Authors earn
$31.99About
About the Book
PHPコミュニティーを騒がせているフレームワークについて学びましょう。この実践的なガイドブックは、あなたにアプリケーション設計とコンソールアプリケーション、Webアプリケーションの作成を経験させてくれます。中級の開発者にピッタリですが、初心者でも理解できます。「Laravel4でこなすプログラム術 Getting Stuff Done」で楽しくLaravelを学べます。最後まで学習すれば、あなたのワークフローにピッタリとあった道具を手に入れることができるのです。「仕事をこなす」ためにです。
購入金額の10%がLaravelプロジェクトへ寄付されます。
この本は典型的な参考書ではありません。設計を重視した手順書です。どのようにアプリケーションを設計するかの真の姿をお見せすることに焦点を置き、実装の最初から最後までを説明しています。今回のアプリケーションに必要ないLaravelコンポーネントには触れていません。もし、皆さんがLaravelを使った開発の正直な一冊を探し求めているのでしたら、この本こそ正にぴったりです。
(翻訳者追記:この書籍はバージョン4.1の頃に出版され、4.2でも動作します。2014年にリリースされるLaravel5.0では、ディレクトリー/ファイル構造が変更されるため、パスが大きく変更になります。そのため、書籍の内容と一致しない部分が発生します。予め、ご了承ください。)
Feedback
Author
About the Authors
Contents
Table of Contents
Get the free sample chapters
Click the buttons to get the free sample in PDF or EPUB, or read the sample online here
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them
Write and Publish on Leanpub
You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!
Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.
Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.