2012-09-04 15 views
12

संभव डुप्लिकेट:
Is there a way to program 100% object-oriented in PHP?क्या जावा में 'सार्वजनिक स्थैतिक मुख्य (स्ट्रिंग [] तर्क) `के लिए PHP समान है?

मेरा लक्ष्य क्या है यह कुछ ऐसा दिखाई देगा कोशिश कर रहा हूँ:

<?php 
     //index.php 
     class Site{ 
      public static function main(){ 
       // starts all the processing of the site 
      } 
     } 
?> 

तो है कि जब कोई साइट की index.php साइट का दौरा करेंगे कक्षा के बाहर कोई कोड के बिना शुरू करो।

हाँ मुझे पता है कि मैं कक्षाओं के ऑटोलोडिंग को संभालने के लिए __autoload या यहां तक ​​कि spl_autoload_register का उपयोग कर सकता हूं लेकिन फिर भी कक्षा के बाहर इसे जोड़ने की आवश्यकता होगी।

मुझे संदेह है कि यह संभव है लेकिन मुझे नहीं पता कि यह क्यों संभव नहीं होगा।

+0

आपको कभी भी PHP में प्रवेश बिंदु की आवश्यकता क्यों होगी ??? – perilbrain

+0

@ हां हां ऐसा लगता है कि यह मेरे प्रश्न की आवश्यकताओं को पूरा कर सकता है, हालांकि जितनी बार मैंने खोज की, यह परिणाम में कभी दिखाई नहीं दी। यह हो सकता है कि मैं अपनी खोज में गलत जानकारी का उपयोग कर रहा था। – JRSofty

+0

हां है ... सार्वजनिक कार्य __construct() {/ * ऑब्जेक्ट निर्माण पर कुछ करें * /} – Matth3w

उत्तर

18

सं

जावा के प्रवेश बिंदु main पद्धति के रूप में परिभाषित किया गया है। PHP की प्रविष्टि बिंदु को पहली फ़ाइल में पहली पंक्ति के रूप में परिभाषित किया जाता है जिसे निष्पादित किया जाता है। आप को "प्रक्रियात्मक" कोड से शुरू करना होगा।

+0

प्रत्यक्ष उत्तर के लिए धन्यवाद। पिछले दो दिनों से मैं अपने सिर में यह परेशान कर रहा हूं, जबकि इस प्रश्न के संभावित प्रत्यक्ष उत्तर खोज रहे हैं। मुझे लगता है कि मुझे अपने एसओ खोज मानदंडों के साथ और अधिक अभ्यास की आवश्यकता है क्योंकि आपको डुप्लिकेट मिला है। – JRSofty

1

आप अपनी साइट कक्षा इस तरह लिख सकते हैं और उस वर्ग को सबकुछ बना सकते हैं, लेकिन आपको कक्षा को आरंभ करने के लिए अभी भी एक एंट्री फ़ाइल की आवश्यकता होगी। आप अपनी साइट को अपनी अनुक्रमणिका फ़ाइल में एक पंक्ति के साथ 'बूट अप' कर सकते हैं। लचीलापन के एक बड़े अवरोधक की तरह प्रतीत नहीं होता है।

तो, जवाब नहीं :)

0

php के साथ बॉक्स से बाहर ऐसी कोई अवधारणा नहीं है किया जाएगा। आपको index.php या किसी .htaccess फ़ाइल में कुछ होना होगा जो उपयोगकर्ता को आपके इच्छित फ़ाइल में रीडायरेक्ट करेगा, लेकिन कक्षा को हमेशा कोड

-1

द्वारा इंस्टॉल किया जाना चाहिए आप इसे बहुत आसान प्राप्त कर सकते हैं आप साइट पर एक .htaccess का उपयोग कर बिज़:

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L] 

आपका index.php wil तब प्रसंस्करण करें। प्रक्रियात्मक कोड की 1 पंक्ति के साथ, आप एक कक्षा बना सकते हैं, और वहां से आगे बढ़ सकते हैं।

<?php 
     //index.php 
     class Site{ 
      public static function main(){ 
       // starts all the processing of the site 
      } 
     } 

     Site::main() 
?> 

मेरा tutorial/blog देखें।

+0

क्षमा करें @JvdBerg यह वह नहीं है जिसे मैं ढूंढ रहा था। आपका उदाहरण अभी भी 'साइट :: मुख्य()' दिखाता है जो मैं बचने की कोशिश कर रहा था। जिसे मैं अब निश्चित रूप से जानता हूं PHP का उपयोग करना संभव नहीं है। – JRSofty

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