Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

ओओपी पीएचपी पीडीओ मेरा पहला प्रोजेक्ट, क्या मैं सही कर रहा हूं?

मैं मॉडल/मैपर का उपयोग करके शुरू करूंगा। सादा वस्तुओं को प्राप्त करने और उन्हें डेटाबेस में बनाए रखने में सक्षम होने का यह एक बहुत ही आसान तरीका है। यह डेटाबेस कॉल और कोड (दृढ़ता तर्क) को कार्यक्षमता (एप्लिकेशन या व्यावसायिक तर्क) के साथ मिलाने से भी बचता है। सरल उदाहरण:

class User {
    public $id;
    public $username;

}

class UserMapper {
    /**
     * @param User $user
     */
    public function save(User $user) {

        if(isset($user->id)) {
            $statement = "Update users set username = ? where id = ?"
        } else {
            $statement = "insert into users set username = ?, id = ?"
        }
        $instance = db::getInstance();
        $sth = $instance->prepare($statement );
        $values_a = array($user->username, $user->id);
        $db_result = $sth->execute($values_a);
    }

    /**
     * @param int $userId
     * @return User
     */
    public function load($userId) {
        $statement = "select * from users where id = ?";
        $instance = db::getInstance();
        $sth = $instance->prepare($statement );
        $values_a = array($user->id);
        $db_result = $sth->execute($values_a);
        $returnUser = new User();
        $returnUser ->id       = $db_result[0]['id'];
        $returnUser ->username = $db_result[0]['username'];
        return $returnUser;
    }
}

मैं सीधे सदस्य पहुंच के बजाय गेटर्स/सेटर्स का उपयोग करने की भी सिफारिश करता हूं, लेकिन यह केवल कोड की सादगी के लिए था ... जैसे-जैसे आप अधिक मॉडल/मैपर विकसित करते हैं, आपको सामान्य मैपर कार्यक्षमता (सहेजना, लोड करना, हटाना, ढूंढना) मिलेगा और आप सामान्य तर्क को समाहित करने के लिए आपके कोड को पुन:सक्रिय कर सकता है ताकि आपके पास कोपिपास्ता का एक गुच्छा न हो।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जब प्रत्येक प्रविष्टि एक मध्यम आकार के आकार के क्षेत्र में फिट होगी तो MySQL लॉन्गटेक्स्ट आकार के क्षेत्र का उपयोग करने में क्या नुकसान है?

  2. पीडीओ का उपयोग करके सहायक फ़ंक्शन डालें/अपडेट करें

  3. सर्वर पर परिनियोजन के कुछ समय बाद डेटाबेस से कनेक्ट करने में सक्षम नहीं

  4. MySQL में एक पंक्ति को निष्क्रिय बनाना

  5. MySQL प्रश्नों को कैशिंग करना