0
0

PHPで.propertiesファイルを使う

Last updated at Posted at 2024-07-05

プロパティファイル好きです!

こんばんは!私はとある大手企業で教育関係のお仕事をしています。

最近は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を楽しみながら時代を待ちましょう。

0
0
0

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
0
0