मैंने PHP में बहुत सारे कोड किए हैं और ऑब्जेक्ट उन्मुख है, लेकिन अब तक, मेरी सभी कक्षाएं "एकवचन" रही हैं, मुझे लगता है कि आप इसे कॉल कर सकते हैं। मैं एक वर्ग (डुप्लिकेट कोड से छुटकारा पाने के लिए) को बढ़ाने के लिए कई कक्षाओं (जिसमें 5 या समान समान विधियां हैं) को बदलने की प्रक्रिया में हूं। मैं कुछ मुद्दों में भाग रहा हूं।PHP - विस्तार कक्षा
मैं अभिभावक वर्ग में किसी विधि तक पहुंचने का प्रयास कर रहा हूं, लेकिन आप समस्या देख सकते हैं।
जनक वर्ग:
class DatabaseObject {
public static function find_all() {
return self::find_by_sql("SELECT * FROM " . self::$table_name);
}
}
बाल वर्ग:
class Topics extends DatabaseObject {
protected static $table_name = "master_cat";
protected static $db_fields = array('cat_id', 'category');
public $cat_id;
public $category;
}
कोड php/HTML फ़ाइल से इस तालिका से सभी जानकारी का उपयोग करने की कोशिश कर रहा है:
$topics=Topics::find_all();
foreach($topics as $topic):
echo $topic->category;
endforeach;
आप देख सकते हैं , अधिकांश कोड चीजों को करने के नए तरीके में विलय नहीं किया गया है। मुझे स्वयं :: $ table_name को बदलने की ज़रूरत है जो अब मैं नए तरीके से काम नहीं कर रहा हूं। मेरे पास इस ऑब्जेक्ट को विस्तारित करने के बारे में 5 वर्ग होंगे, इसलिए कोडिंग का सबसे अच्छा तरीका क्या है, इसलिए मैं एक अलग विधि के साथ अलग-अलग तालिकाओं तक पहुंच सकता हूं (5 अलग-अलग कक्षाओं में इस सटीक find_all() विधि को शामिल करने के बजाय।
मैं अनुशंसा करता हूं कि आप ओओपी के बारे में अधिक पढ़ें और विशेष रूप से जिस तरह से इसे PHP में लागू किया गया है। Givi एनजी आप एक कामकाजी कोड असली समस्या हल नहीं करेंगे। – Adi
इसके विपरीत, मैं अन्य लोगों के कोड से सीखता हूं। शायद मैं किसी के लिए वास्तव में सवाल का जवाब देने का इंतजार करूंगा। – KickingLettuce
Ive पढ़ते हैं "मैं अन्य लोगों के कोड से सीखता हूं" अक्सर यह जानना कि यह अच्छी तरह से काम नहीं करता है। आपको एक किताब पढ़ने पर विचार करना चाहिए। – KingCrunch