プロパティファイル好きです!
こんばんは!私はとある大手企業で教育関係のお仕事をしています。
最近はJavaの新卒研修に参加して講義をしました。
はじめて3カ月も講義をして何より自分が1番学んでました!
JavaといえばgradleかMaven!
JavaではXMLなMavenと.propertiesファイルのようなものを使うGradleの2択だった気がします。
JavaはYAML使わずにXMLのほかにpropertiesを使うことが多かった気がします。
しかし、PHPではほとんど使いません。
そもそもPHPを使っている人がいない
みなさんPythonを使っているし私もFlaskやDjangoを使ってきました。
しかし問題があって、PythonはWebと相性がそこまでよくないというところがあります。
つまり、われわれがVPSを借りてウェブのサービスを始めようとなったときに
ほぼ100パーセント使うのがApacheとなっており、PythonもいけるんですがPHPと比べると格段に面倒くさいです。
Javaの習得は絶望的
研修ではJavaをやっていましたがどんな演習でもその基となるアプリの見本がなければ何もできない状態です。それにJavaの場合@WebServletのパス名がダブっただけでサーバーが起動しません
PHPでpropertiesをよむコードがこちら
こちらがPHPでpropertiesファイルを読み込む方法になります。
<?php
// Function to parse the properties file
function parse_properties($file) {
$properties = array();
if (file_exists($file)) {
$lines = file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
foreach ($lines as $line) {
if (strpos($line, '=') !== false) {
list($key, $value) = explode('=', $line, 2);
$properties[trim($key)] = trim($value);
}
}
}
return $properties;
}
// Path to your properties file
$propertiesFile = 'database.properties';
// Parse the properties file
$dbProperties = parse_properties($propertiesFile);
// Retrieve database connection details
$host = $dbProperties['db.host'] ?? 'localhost';
$dbname = $dbProperties['db.name'] ?? '';
$username = $dbProperties['db.username'] ?? '';
$password = $dbProperties['db.password'] ?? '';
// Create PDO connection
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
} catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>
世の中の9割はPHPで動いてます。またPHPプログラマに光が差してくるでしょう。
SpringBootもやってみましたがJTLとか勝手に裏でSQLを作ってくれるのですがやっぱり結合とかするとすぐ複雑化してわけわからなくなります。仕様変更もしょっちゅうあり、Qiitaに書いてある記事の内容で動かないなんてザラです。
100年後にはきっとPHPしか生き残らないと思ってます。今はコールドスリープして趣味でPHPを楽しみながら時代を待ちましょう。