1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

RubyよりPHPの方が初心者に優しかった

Last updated at Posted at 2021-07-04

RubyとPHPはどちらも簡単でWebアプリを作りやすい言語というイメージがありますが、初心者から見るとPHPの方が断然簡単でした。
Rubyからスタートする場合と比べて挫折しづらいと思います。

RubyとPHPといっても、それぞれライブラリを含んだ比較となっています。
PHPはRails、PHPはLaravel、smartyです。

Rubyと比べてPHPの方が良かった点

  • コードを修正する際にwebサーバーの再起動が不要
  • phpにはrubyのpassengerにあたるものがない
  • DB接続が簡単
  • 複数DBを横断的にアクセスできる
  • viewファイルの位置がわかりやすい
  • メソッドに括弧があってわかりやすい
  • webアプリを作るためにライブラリが必要ない

詳細

  • コードを修正する際にwebサーバーの再起動が不要

    • PHP:コードを修正する際にwebサーバーの再起動が不要です。
    • Ruby:コードを修正するたびに再起動が必要です。Dockerの場合、Docker自体の再起動またはウェブサーバー(puma,apache)の再起動が必要です。
  • phpにはrubyのpassengerにあたるものがない

    • PHP:apacheとPHPのコードだけでWebアプリを作れます
    • Ruby:Railsを使った場合、apacheとRubyのコードをつなぐpassengerというものが必要です。アプリケーションサーバー?というのか複雑なものです。このpassengerに関する記述をapacheのconfファイルに記述しないといけません。サブディレクトリ対応させるときにもpassengerに気をつけないといけません。
  • DB接続が簡単

    • PHP:laravel,smartyなどライブラリ必要なくできます。厳密には、PHPのPDOというモジュールを使っているのですが、phpの標準的なインストール
      sudo apt-get install php などをすると標準で入っています。
    • Ruby:railsなどライブラリを使わないといけない。
  • 複数DBを横断的にアクセスできる

  • viewファイルの位置がわかりやすい

    • PHP:コントローラがviewファイルを明示的に呼び出すことを記述します。初心者でも、コントローラにリクエストがいってViewファイルを呼び出す流れがわかりやすいです。
      // 取得した値をビュー「book/index」に渡す
      return view('book/index', compact('books'));
    
    • Ruby:上記のように書く必要がないため、(上記と同じ例であれば)暗黙的に「book/index.html.erb」を呼び出すことになります。
  • メソッドに括弧があってわかりやすい

    • PHP:メソッドに括弧が必要です
    • Ruby:メソッドに括弧が不要です(括弧を書くこともできますが)。これは括弧がない方が楽なのではないか?と思うかもしれませんが、括弧がないことによってかなり混乱しやすいです。下記のリンクでその問題点について言及しています。
      【Ruby】メソッドの引数の個数についての疑問と検証 - Qiita
  • webアプリを作るためにライブラリが必要ない

    • PHP:ライブラリ必要なく、apacheの読み出す場所にphpファイルを置いておくとアプリを作成できます。というか、apacheもインストールすることなく以下のコードのようにサーバーを立ててアプリを開発できます。
      初心者にとっては、まずアプリが動くまで短い方が挫折しにくいのでかなり良い部分です。
      参考: PHP: ビルトインウェブサーバー - Manual

php -S localhost:8000 -t app/
```

* Ruby:railsなどライブラリが必要です。ただ、railsにも`rails server`があるので、apacheは使わずともアプリを起動することはできます。
1
0
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?