夜の歌

プログラミング、音楽、本について緩く書いていきます。

PHPのinterfaceの理解①

PHPインターフェイスをどの場面で使えばいいのか分からなかったので、サンプルコードを書いてみた。

サンプルコードの内容は、国の情報を扱うクラスがあって、そのクラスには2つのインターフェイスを設定する。1つ目のインターフェイスは、言語を扱うメソッドを管理する。2つ目のインターフェイスは、宗教を扱うのメソッドを管理する。

<?php
/**
* 言語を扱うメソッドを管理するインターフェイス
*/
interface Language{
    /*
    * 言語を取得する
    *
    */
    public function getlanguage();
}

/**
* 宗教を扱うメソッドを管理するインターフェイス
*/
interface Religion{
    /*
    * 宗教を取得する
    *
    */
    public function getReligion();
}

/**
* インドの情報を扱うクラス
*/
class India implements Religion,Language
{
    /*
    * 言語を取得する
    *
    * return string
    */
    public function getlanguage(){
        return 'ヒンディー語';
    }

    /*
    * 宗教を取得する
    *
    * return string
    */
    public function getReligion(){
        return 'ヒンドゥー教';
    }
}


$india = new India();
echo $india->getlanguage() . "\n";
echo $india->getReligion();


出力

$ php test.php
ヒンディー語
ヒンドゥー教


インターフェイスは、ある情報を扱うクラスに必須のメソッドを実装させるために使う感じか。ちょいと理解。

※参考 qiita.com

開発日記④

今、Laravelの本を読んでいる。

PHPフレームワーク Laravel Webアプリケーション開発 バージョン5.5 LTS対応

PHPフレームワーク Laravel Webアプリケーション開発 バージョン5.5 LTS対応

何のために読んでいるかというと、Laravelのアーキテクチャを理解するために読んでいる。じゃあ、何故、理解する必要があるのか。それは、Laravelを使いこなして、Webアプリケーションを作りたいから。

じゃあ、本をただ読むだけで、Laravelのアーキテクチャを理解することはできるのか。それは、難しいと思う。だから、本を読むだけじゃなくて、自分なりに文章を書いてみるといいかもしれない。それと、実装してみる。ちょい、ちょい進めていこう。

あと、今年は、アウトプットの質を高めたい。どうにかしていこう。

開発日記③

相変わらず、音楽レビューサイトを作り直し中。今は、UIをいじっているけど、なかな綺麗な形にはならない。ただ、HTMLとCSSの仕様を理解してきているせいか、実装自体は楽しい。デザインについて、参考になる本を買ったので、色々と試してみる。他にも、本が必要だったら買ってみようと思う。

誰も教えてくれないデザインの基本

誰も教えてくれないデザインの基本

結局、何をゴールにして、Webアプリケーションを作っていくか。難しいけど、試行錯誤は楽しいところ。効率は、目指すのは当たり前だけど、とりあえずやってみないと。やってみて、結果をみて、考えて、修正して、再度やってみる。その連続。


今、他に『 体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践』を読んでいる。読み終えたら、感想書きたい。

開発日記②

今、色々とやりたいことがあるけど、順番は上手くやりたいな。一番はLaravelの本を読んで、Laravelのことを理解していく。他に、GItのコマンドの確認、ターミナルの仕組み、MySQLについてなどをやっていきたい。

開発日記①

会社ではVagrantを使ってローカル開発環境を作り、開発している。Webサーバーは、Laravelのビルトインサーバー。昨日、ビルトインサーバーを終了しないで、Vagrant haltを行なった。そして、Vagrant upをして仮想環境を立ち上げて、ビルトインサーバーを動かそうとしたら、動かなかった。色々と試した結果、ターミナルを再起動をしたら、ビルドインサーバーが動いた。いやぁ、原因を追求したい。

ターミナルとは何か、など、調べると面白そう。

格安simに変更

昨日、softbankからlinemobileに変更した。手続きの手順を間違ってしまい、softbankショップでsimロック解除を行なった。その事務手数料として、3000円かかった。

なぜ、そうなったか。simロック解除を行う前に、linemobileの利用開始してしまったためだ。どうやら、linemobileの利用開始をすると、softbankと契約が切れるみたいだ。softbankと契約が切れるとMy SoftBankが使えなくなり、My SoftBankから無料で行えた、simロック解除も行えなくなる。知らなかった。。もう少し、流れを確認して、手続き行えばよかった。

さて、linemobileを使えるのは楽しみだ。契約のページは情報量が少なくて見やすいし、参考になる。

Laravel③

7月から新しい会社に入って、Laravelを使っている。今まで使ったことがあるCakePHPよりは、個人的に使いやすい気がする。まだ、Laravel独自の機能を使えこなせているかといえば、全然まだまだ。もう少し、使いこなしたいところ。

一旦、今日はこれくらいで。

Vagrantのエラー②

会社のPCで実施したら、エラーは表示されず上手くいった。。あぁ、でも原因が知りたい。自宅のPCと会社PCの環境は何かな。Vagrantのバージョンの違い、秘密鍵の設定の違いなどかな。Homesteadのソースは同じだし、そこが原因ではなさそう。

まだ、ネットワークについて弱いから、VirtualBoxの設定内容についても、詳しくなりたい。ただ、今は会社で購入したLaravelの本をやることが優先順位が高い。

PHPフレームワーク Laravel Webアプリケーション開発 バージョン5.5 LTS対応

PHPフレームワーク Laravel Webアプリケーション開発 バージョン5.5 LTS対応

Vagrantのエラー

LaravelのHomesteadを使おうとして、色々と設定をしVagrant upを実施したらエラーが表示された。

homestead-7: Warning: Remote connection disconnect. Retrying...
homestead-7: Warning: Connection reset. Retrying...

調べてみたけど、ちょっと分からない。VagrantVirtualboxを調べないといけないかな。

Laravel

Laravelを触り始めて、4ヶ月が経つ。今のところCakePHPと比べて、便利な機能が多い印象。また、仕様の理解もそこまで難しくない。ただ、Laravelのライフサイクルの理解は、まだまだ。徐々に進めていきたい。その方が、面白いしね。

Laravelには、専用のデバックツールもあるみたい。

github.com