🕌

PHPは型がない???

に公開1

プログラマーが発言すること

いきなりですが、プログラマーとかがよく言う発言といえば...

「TypeScriptは型があって...」
「TypeScriptはJavaScriptの上位互換であって...」
「PHPはゴミだし...」
「Vueは最高~!」
「Python読みにくい」
「Javaは冗長すぎる」
・・・ひどいですね←

https://zenn.dev/takoserver/articles/7a624e38285b16
ほら、この方なんか「PHPは論外」と言っちゃってます。。。
PHPプログラマーとしては許せない言い分ですね!!!!!

PHPにも型があります

ほら、なんて美しい!
TypeScriptのほうがきれいって方もいるかと思いますが、interfaceって関数をテンプレ化するものではないんです???

<?php
class User {
	public int $id;
	public string $name;
	public int $age;
	public string $email;

	public function __construct(int $id,string $name,int $age,string $email) {
		$this->id = $id;
		$this->name = $name;
		$this->age = $age;
		$this->email = $email;
	}
}

function greet(User $user): string {
	return "こんにちは、{$user->name}さん!あなたは{$user->age}歳ですね。";
}

Pythonは読みにくい

なんですが、インデントでブロック表現って...
あんなの正気の沙汰ではありません。見づらすぎて私の目は壊れそうです。
{} を : の代わりにするなんて、HTML埋め込み以外断固お断り!

def calculate_something(x, y):
    if x > 0:
        result = x + y
        for i in range(10):
            result += i
    else:
        result = y - x
    return result

PHPならこんなきれいに!

<?php
function calculate_something(float $x ,float $y): float {
	if ($x > 0) {
		$result = $x + $y;
		for ($i = 0; $i < 10; $i++) {
			$result += $i;
		}
		return $result;
	} else {
		return $y - $x;
	}
}

Javaは長すぎます

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

はい?だったらこうすればいい話

<?php
echo "Hello World!";

どうしてすぐそう長くするんですか?私には理解ができません。

PerlなんかJSみたい

use strict;
use warnings;

print "Hello World!";

strictを使う感じ、JavaScriptの"use strict";じゃないですか。
useがないと動かない前提なんですか????

C#?Javaと同じでしょ

C#なんかJavaと似すぎています。あとvoidってなんですか。意味不明すぎます

using System;

class Program
{
    static void Main()
    {
        string text = "apple,banana,grape";

        int index = text.IndexOf(',');
        string result = text.Substring(0, index); // "apple"
        Console.WriteLine(result);
    }
}

PHPならもっとシンプルに!!

<?php
$text = "apple,banana,grape";
$split = explode(",", $text);
$result = $split[0];
echo $result;

TypeScriptは論外

const array = ["foo", "bar", "hello", "world"];

function App() {
  return (
    <div>
      {array.map((value, index) => (
        <p key={index}>{value}</p>
      ))}
    </div>
  );
}

TS + Reactってもうなんだろう、常識はずれですよね。
returnに"や'をつけないってどうかしてます。

PHPならシンプルに:

<?php
$array = ["foo", "bar", "hello", "world"];
foreach ($array as $index => $value) {
	echo "<p key={$index}>{$value}</p>";
}

PHPが最高な理由

他の言語が劣っている理由を十分説明しましたが、ここでPHPがなぜ神なのかをお伝えします。

どこでも動く!

C++?コンパイルして実行ファイルを作って...
面倒すぎです。
Java?JVMを入れて...?
重すぎます。

PHPはどうでしょう?サーバーに置くだけで動きます。
ブラウザでアクセスすれば即実行!
スマホからでも!タブレットからでも!冷蔵庫の管理画面でも!(IoT対応の場合)。
世界中のWebサイトの大半がPHPで動いているんです。
あと、あのWordPressもPHPで動いているんです。これって素晴らしくないですか?

TypeScriptのような、一度JavaScriptにコンパイルして...なんかの作業は必要ありません!

何でも作れる

ブログ?WordPress(PHP)。
ECサイト?EC-CUBE(PHP)。
SNS?Laravelで爆速開発。
APIサーバー?Symfonyで堅牢に。
CLIツール?PHP CLIで十分。

もはや「PHPで作れないものはない」と言っても過言ではありません。
他の言語を学ぶ必要なんてありません。

VSCodeとの完璧な相性

MicrosoftがVSCodeを作りました。そしてPHP Intelephense拡張があります。
入力補完、型チェック、リファクタリング...すべてが完璧に機能します!
Vimで開発している人、見づら過ぎて大丈夫かな?と疑ってしまうほどです。

コミュニティが巨大

「このライブラリPHPに対応してないかな...」 と思ったことはありますか?
いいえ私はありません。
なぜならほぼすべてのWebホスティングがPHP対応だからです!

世界中の優秀なエンジニアがPHPを選んでいます。
きっと彼らは間違っていない選択です。

結論

PHP以外を利用してる人へ!

今すぐ形なし世界から移りましょう!そうすれば先住民も喜ぶはずです。
あなたのコードをもっと安全に、メンテナンスしやすく、読みやすさ、全部詰まっています。

今すぐ心を改心すれば、神もあなたも未来で喜ぶはずです。
「あの日PHPに改心してよかった。。。」と

どんなプロジェクトも、PHPに移りましょう!そうすれば、最高のプログラミングであり、いつでも学習できます...。

PHP教の戒律

  • サーバーに置けば動く、それが第一の教え。
  • 型を信じよ、型は汝を救う。
  • WordPressを崇めよ、世界の半分はそれでできている。

あなたも、今日からPHP教に入りませんか?




(WARNING: この記事はネタ記事であり、ほかの言語も素晴らしいです。また、たこさんの投稿のパクリ疑惑ありです。すみません。。。。。)

Discussion

shiracamusshiracamus

Pythonは読みにくい
なんですが、インデントでブロック表現って...
あんなの正気の沙汰ではありません。見づらすぎて私の目は壊れそうです。

PHPならこんなきれいに!

<?php
function calculate_something(float $x ,float $y): float {
	if ($x > 0) {
		$result = $x + $y;
		for ($i = 0; $i < 10; $i++) {
			$result += $i;
		}
		return $result;
	} else {
		return $y - $x;
	}
}

これが

<?php
function calculate_something(float $x ,float $y):
	if ($x > 0):
		$result = $x + $y;
		for ($i = 0; $i < 10; $i++):
			$result += $i;
		return $result;
	else:
		return $y - $x;

こうなるだけですが、見づらすぎて目が疲れますか? 多分慣れの問題ではないかと思います。
PHPならインデント不要で

<?php
function calculate_something(float $x ,float $y): float {
if ($x > 0) {
$result = $x + $y;
for ($i = 0; $i < 10; $i++) {
$result += $i;
}
return $result;
} else {
return $y - $x;
}
}

と書けますが、こっちの方が見づらすぎて目が疲れるのでは?