मैं थोड़ी देर के लिए phpsh का उपयोग कर रहा हूं, और यह अतीत में बहुत अच्छा काम करता है। लेकिन इसका नामस्थान समर्थन अभी भी बहुत अच्छा नहीं है और यह बहुत निराशाजनक हो सकता है।आरईपीएल/इंटरैक्टिव खोल?
\Somespace\Someclass::someStaticFunction()
जैसी चीजें चेक को अक्षम किए बिना काम नहीं करती हैं या नहीं, कोई विधि मौजूद है, जिससे आपके पर्यावरण को रीसेट करने वाले टाइपों पर लगातार घातक त्रुटियां होती हैं।
PHP अंतर्निहित खोल (php -a
) सहित कई PHP REPLs हैं, जो उपयोग करने के लिए भयानक हैं।
क्या किसी को उचित नामस्थान समर्थन के साथ वैकल्पिक या शायद एक phpsh-fork पता है? या शायद एक आसान विन्यास ठीक मैं अनदेखी की है ...
एक उदाहरण:
यह testfile:
<?
namespace testing;
function echoSome(){
echo 'Something';
}
\testing\echoSome();
phpsh में इस निर्गम (उम्मीद के रूप में) का उत्पादन
php> include '/path/test.php';
Something
php>
लेकिन फिर से वही कॉल करने का प्रयास नहीं करता है:
php> \testing\echoSome();
Not executing input: Possible call to undefined function echoSome()
See /etc/phpsh/config.sample to disable UndefinedFunctionCheck.
नामस्थान के बिना समारोह अभी भी उपलब्ध है:
<?
function echoSome(){
echo 'Something';
}
echoSome();
phpsh में
:
php> include '/path/test.php';
Something
और कॉल अभी भी काम करता है:
php> echoSome();
Something
क्या आप थोड़ी अधिक विस्तार से वर्णन कर सकते हैं कि आपको phpsh के नेमस्पेस समर्थन में क्या कमी है? – Doa
मैं जो भ्रमित करता हूं उसे एक स्निपेट जोड़ दूंगा, लेकिन शायद @ मिचिल कुछ भी स्पष्टीकरण दे सकता है? – Nanne
हां, यह मेरा मतलब है कि यह एक आदर्श उदाहरण है। \ SomeNameSpace \ someFunction() के अलावा; कुछ नेमस्पेस \ SomeClass :: कुछ फ़ंक्शन() भी काम नहीं करता है। आईआईआरसी में अज्ञात कार्यों (एक और 5.3 फीचर) के साथ भी समस्याएं हैं, लेकिन मेरे कैफीन से वंचित मस्तिष्क अभी याद नहीं कर सकते हैं। – Marlies