2010-12-23 16 views
6

किसी भी विचार क्यों मैं इस त्रुटि मिलती है: इस कोड के साथचेतावनी: लापता 1 तर्क

Warning: Missing argument 1 for person::__construct(), called in /home/fishbein/public_html/dev/OOP/index.php on line 5 and defined in /home/fishbein/public_html/dev/OOP/class_lib.php on line 6 

Warning: Missing argument 1 for person::__construct(), called in /home/fishbein/public_html/dev/OOP/index.php on line 6 and defined in /home/fishbein/public_html/dev/OOP/class_lib.php on line 6 

:

<? 
    class person { 

      var $name; 

      function __construct($persons_name) {  
      $this->name = $persons_name;   
      } 

      function set_name($new_name) { 
       $this->name = $new_name; 
      } 

      function get_name() { 
       return $this->name; 
      } 

    } 
?> 

मैं अपने इंडेक्स फ़ाइल में इस का उपयोग कर रहा:

$tyler = new person("Tyler"); 
+3

आप index.php पर लाइनों 5 और 6 को प्रकाशित करने की जरूरत है। वह जगह है जहां बग है। – Chris

उत्तर

11

की तरह कुछ कर रहे हैं जब instantiated तुमने किया था। लेकिन यह समाधान नहीं है। आप निर्माण को हटा सकते हैं, नया उदाहरण बना सकते हैं और फिर नाम सेट कर सकते हैं। अगर आपका कोई काम नहीं करता है।

+1

लेकिन, मुझे $ टायलर = नए व्यक्ति ("टायलर") का उपयोग कर रहा हूँ; – Phil

+0

$ tyler = नया व्यक्ति; $ टायलर :: set_name ("टायलर"); ... निर्माण को हटा दें और इस तरह प्रयास करें। –

+6

अपनी कक्षा में __construct ($ people_name = "") कार्य करें। – Babiker

2

आप एक बहस में गुजर बिना निर्माता बुला रहे हैं। बहस में $obj = new person(); इस तरह के बजाय $obj = new person("joe");

+0

@ फिल: यह ब्रायन के उत्तर के अंत में है: '$ पी = नया व्यक्ति (" उनके नाम ");' –

+0

मैं यह कर रहा हूं: $ tyler = नया व्यक्ति ("टायलर"); – Phil

4
$persons_name = "" 

यह सेट: शायद आप बजाय $p = new person();$p = new person("theirName");

+0

+1 __construct स्पष्टीकरण के लिए()। __construct ($ people_name = "") सही है। – jhamPac

0

ऐसा लगता है: तो वर्ग के नाम समारोह नाम यह चेतावनी दी गई है के समान है। आप वर्ग के नाम से अलग ढंग से समारोह का नाम यदि यह ठीक लगता है। आप इस कोड निर्माण विधि के अंदर

function __construct($persons_name= NULL) {  
      $this->name = $persons_name;   
      } 

initialized शून्य प्रयास करें जब बुला वह वर्ग इन्स्टेन्शियशन

0

पर नहीं ढंग से काम केवल तर्क भी देनी होगी।

संबंधित मुद्दे