これは私の最初の投稿です。質問を改善できるかどうか教えてください。
私はウェブサイトを更新している最中です。つまり、ユーザーのサブスクリプションを処理し、売上 (私が作成した製品) を追跡します。近い将来、新しい機能を追加するためのオプションを開いたままにしておきたい. PHP と MySQL を使用して構築されています。
私は 5 年間、コードを真剣に更新していませんでした。コード全体を管理および更新しやすくする機会をつかもうとしています。特に、データベースとのやり取りをより良くしようとしています。
私は、次のような非常に簡潔な方法でデータベースとやり取りできるezSQLをいじりました。
$users = $db->get_results("SELECT name, email FROM users");
foreach ( $users as $user ) {
// Access data using object syntax
echo $user->name;
echo $user->email;
}
私はそれが本当に気に入っています: 私はすぐに使用できるオブジェクトにたどり着き、以前とは異なり、多くの mysql_* 関数や SQL クエリをあちこちに配置することなく、コードを読みやすくします。
SELECT クエリに適していても、INSERT ステートメントにはあまり役に立たず、次のようなコードになる可能性があります。
$db->query( "INSERT INTO users (name, email, date, hostname, cid, code, email_id, email_date, source, ebook, audiobook )
VALUES ( '" . $db->escape( $user->name ) . "',
'" . $db->escape( $user->email ) . "',
'" . $db->escape( $user->date ) . "',
'" . $db->escape( $user->hostname ) . "',
'" . $db->escape( $user->cid ) . "',
'" . $db->escape( $user->code ) . "',
'" . $db->escape( $user->email_id ) . "',
'" . $db->escape( $user->email_date ) . "',
'" . $db->escape( $user->source ) . "',
'" . $db->escape( $user->ebook ) . "',
'" . $db->escape( $user->audiobook ) . "')"
);
それはもっと悪いかもしれませんが、それでも経験するのはそれほど良いことではありません. 私にとって最悪の部分は、前の例ほど単純ではないことです。
したがって、次のテーブル構造と PHP オブジェクトが与えられます。
$user = new User();
$user->name = 'something';
$user->email = 'something@example.com';
/// etc.
class User {
var $name;
var $email;
// etc.
}
これを行うための単純なライブラリが必要です。
$user->insert();
...そして、クラスの各メンバーをデータベース内の同じ名前の列と照合し、それに応じてデータを挿入します。
私の質問は: そのようなライブラリはありますか? そうでない場合、なぜそれが悪い考えなのですか。
私は MVC について読んできましたが、このプロジェクトではやり過ぎだと思います。単純さの代わりに余分な複雑さが追加されます。たとえば、足場も、デフォルト コードを生成するものも必要ありません。また、このような単純なプロジェクトにはあまりにも多くのフレームワークに巻き込まれてしまうことはしたくありません。
だから私は PHP のデータベース抽象化レイヤー (例: ADOdb、PDO) に興味を持っていましたが、それらが主にコードの記述を短くすること (私の意図した使用法) を意図しているのか、それともさまざまなデータベースのコードを記述できるようにすることを意図しているのかはまだ明らかではありません。より簡単に。私のコードが MySQL でのみ動作することは気にしません。互換性ではなく、わかりやすくするために抽象化したいだけです。
PHP 用に各 DAL をテストする代わりに、経験と上記の単純な使用目的に基づいて、誰かがフィードバックを提供できますか?
お手伝いありがとう。