TokyoFacebookTwitterHatenaPocket手持ちのAndroidスマホで出先からサクッとちょっとしたコードを書いてみたり、修正したり、できたら便利ですよね。実際に試してみました。iPadだけでどこまでPHP開発ができるか試してみたら...』というすばらしい記事を読んで「Androidでも同じことをできるのでは」と考えました。これができれば、たとえば、移動中にコードを書いて編集できるので、ノートパソコンを持ち運ばなくてもよくなります。できるかどうか調べました。この記事で書いていることは、すべての種類のAndroidデバイスで実行できます。私はスマートフォンで試しましたが、AndroidタブレットとBluetoothキーボードの組み合わせが理想的でしょう。Androidのシェルアプリはいくつかありますが、この記事ではTermuxを使います。Termuxには強力なターミナルエミュレーションと幅広いLinuxパッケージコレクションがあり、完全に無料で、使い方は簡単です。updateコマンドを実行します。「アップデートを適用するために、このコマンドをインストール直後に一度、そのあとは定期的に実行してください」というドキュメントに従います。ここからが楽しいところです。--installedコマンドを説明します。listコマンドはTermuxで使えるすべてのパッケージを一覧で表示します。実行すると、多くのプログラミング言語、テキストエディター、zipやtarのような便利なユーティリティパッケージをサポートしていることが分かります。--installedコマンドはインストールされているパッケージの一覧を表示します。実行すると、aptやbashのようなパッケージがプリインストールされていることが分かります。Termuxを試す目的は、適切な(*proper)PHP開発環境を構築できるか確認することなので、テキストエディターをインストールします。私はVimが好きですが、EmacsやNanoも選べます。Vimはとっつきにくいものの、慣れればとても快適です。vimコマンドでインストールできます。*proper(適切な)の意味は文脈により異なります。AndroidスマホでMySQLは稼働していないのでE2Eテストのような複雑なテストケースは実行できませんが、十分に事足りるほかの用途があるでしょう。Vimについて詳しくはすばらしい記事を読むか、インストール後にvimtutorとタイプして、インストールされている説明書を読んでください。AndroidスマホでVimを実行するとき、Escapeボタンを押せないという最初の問題に突き当たります。TermuxにはAndroidのキーボードにはないキーを入力するためのショートカットがたくさん用意されています。音量調整を表示これでエディターが使えるようになりました。続いて必要なパッケージをインストールします。具体的にはPHP、Git、Composerです。git最新のPHPとGitパッケージをインストールできます。Composerはひと手間かかります。installationの手順に従います。"unlink('composer-setup.php');"インストーラーがダウンロードされ、検証、実行後に削除されます。ここまで問題なくできたら、ComposerをTermuxから実行できるようになります。必要なツールのインストールが終わったので、PHPを正しくインストールできているか確認します。サンプルとしてphpinfo()でテストするので、新しいフォルダーを作成してPHPのインストールを確認します。localhost:8080新しいフォルダーが作成され、その中にphpinfo()コマンドでindex.phpファイルが作成されます。ここではファイルに直接echoしていますが、Vimを使うこともできます。最後にPHPサーバーでlocalhostに渡しています。ブラウザーでlocalhost:8080にアクセスすると、次のような内容が表示されます。Composerで依存項目を管理し、gitでバージョンをコントロールできるようになりました。シンプルなphpinfoのテストを終えて、続きを進めます。AndroidデバイスにLaravelをインストールできるか?LaravelをAndroidデバイスにインストールして実行するために必要なものは、現時点ですべてそろっています。次のコマンドを実行して、新しいLaravelプロジェクトを作成します。new_projectnew_projectフォルダーに新たなLaravelプロジェクトが作成されます。--prefer-distオプションについてはここを読んでください。インストールには時間がかかるはずです。インストールが終われば、新たに作成したプロジェクトをLaravel自身のArtisanコマンドラインインターフェイスで実行できます。new_projectフォルダーで次のコマンドを実行します。serveブラウザーでlocalhost:8000にアクセスすると、Laravelのホーム画面が表示されるはずです。Laravelのインストールが終わりました。コードを書いて実行するためのツールを無事にインストールできました。データを保存する方法なしでは開発環境は成り立ちません。Androidデバイスにはメモリーとストレージの問題がつきものです。Termuxでデータを保存する方法としてはsqliteだけが用意されています。SQLiteはサーバーなしで動作するファイルベースのデータベースエンジンで、軽量で小量のデータを扱うのに向いています。Basics』を読んでください。sqliteLaravelプロジェクトでsqliteを使う設定をします。プロジェクトのルートフォルダーに.envファイルがあります。環境設定ファイルで、このファイルを編集します。任意のエディターで次の行を編集します。DB_CONNECTION=sqliteDB_HOST=127.0.0.1DB_PORT=3306DB_DATABASE=homesteadDB_USERNAME=homesteadDB_PASSWORD=secretBROADCAST_DRIVER=logCACHE_DRIVER=fileSESSION_DRIVER=fileQUEUE_DRIVER=syncconfig/database.phpファイルを開き、下の行を見つけます。'mysql'),次のように変更します。'sqlite'),sqliteがconnections配列からのデフォルトの接続先になります。],データベースのパスはdatabase.sqliteファイルを指しています。このファイルはまだ存在しないので、作成する必要があります。database/database.sqliteLaravelでSQLiteを使う設定が完了し、テストの準備ができました。Laravelのビルド済みの認証システムを使います。次のコマンドを実行して、scaffoldを作成します。make:auth続いてmigrateを実行し、データベースのスキーマを構築します。usersとpassword_resetのテーブルが作成されます。serveを実行すると、REGISTERとLOGINのオプションが表示されます。認証CRUDが正常に作成されました!最後に私は、説明してきたことをAndroidスマホで実行しました。このようにセットアップをしておけば、小型のデバイスで開発するためのツールがすべて揃うので、ノートパソコンを持ち運ぶ必要なく、いつでもちょっとした開発を始められます。生産性は高くはないものの、急ぎでなにかを修正したいときやAndroidデバイスでどこまでPHPのパフォーマンスを引き出せるのか確かめたいときに、手軽に活用できます。Ribeiroリスボン在住のソフトウェア開発者で、旅行者、ライターでもあります。Fixeadsで開発に取り組むほか、バックパックを背負って世界のどこかにいるか、複雑すぎて理解できないようなフレームワークをいじっています。