/ / सिम्फनी में सीधे एक कंपोज़र स्थापित पैकेज का उपयोग करना - सिम्फनी, कम्पोज़र-php

सिम्फनी - सिम्फनी, संगीतकार-php में सीधे एक संगीतकार स्थापित पैकेज का उपयोग करना

मेरे पास एक सिम्फनी 2.8 ऐप है, और में composer.json फ़ाइल मेरे पास htmlpurifier पुस्तकालय है जिसका मैं उपयोग करना चाहता हूं:

"require": {
...
"ezyang/htmlpurifier": "^4.8"
},

यह स्थापित करता है और मैं अपने में पुस्तकालय देख सकता हूं /vendor/ निर्देशिका। संगीतकार स्वचालित रूप से मेरे लिए उपयोग करने के लिए एक नामस्थान मैपिंग रखता है।

return array(
...
"HTMLPurifier" => array($vendorDir . "/ezyang/htmlpurifier/library"),
...
);

और निर्देश मुख्य साइट बताएं कि आपको ऑटोलैडर की आवश्यकता है और फिर विभिन्न वर्गों का उपयोग करें।

<?php
require_once "/path/to/htmlpurifier/library/HTMLPurifier.auto.php";

$config = HTMLPurifier_Config::createDefault();  //defined in HTMLPurifierConfig.php
$purifier = new HTMLPurifier($config);  //defined in HTMLPurifierHTMLPurifier.php
$clean_html = $purifier->purify($dirty_html);
?>

काफी हद तक, अब समस्या है मैं darn पुस्तकालय का उपयोग कर रहा हूँ।

मेरी कक्षा में मैं था use HTMLPurifierHTMLPurifier.auto; जो एक वाक्यविन्यास त्रुटि थी (वहाँ नहीं थे "टी माना जाता है कि अवधि एक में है use कथन).

तो मैंने कोशिश की,

use HTMLPurifierConfig;

class Test
{
public function blah()
{
$config = Config::createDefault();
}
}

लेकिन सिम्फनी ने शिकायत की कि उसे कॉन्फिग फाइल मिली, लेकिन क्लास का नाम समान नहीं था (फाइल का नाम है Config.php और वर्ग का नाम है HTMLPurifier_Config)। मैंने उपयोग कथन को बदलने की कोशिश की use HTMLPurifierConfig as HTMLPurifier_Config; और इसने मुझे एक ही त्रुटि दी, यह दावा करते हुए कि यह फ़ाइल ढूंढ सकता है लेकिन कक्षा नहीं।

तो मैं उलझन में हूँ। संगीतकार स्थापित लाइब्रेरी से निपटने के लिए सबसे अच्छा तरीका क्या है जिसमें एक ऑटोलैडर फाइल है जो उस लाइब्रेरी के लिए सभी कक्षाओं को लोड करती है? क्या मुझे सभी कक्षाओं को बदलना होगा ताकि वे फाइल के नाम या वीजा-वर्सा से मेल खाएं ताकि सिम्फनी ऑटिडर का उपयोग होगा उन्हें? या वहाँ एक आसान तरीका है कि मैं बस अनदेखी कर रहा हूँ?

हमेशा की तरह, धन्यवाद।

उत्तर:

जवाब के लिए 2 № 1

आपने नामस्थान का अस्तित्व नहीं बताया। फॉलो कोड सैंपल काम करेगा

use HTMLPurifier_Config as Config;

class Test
{
public function blah()
{
$config = Config::createDefault();
}
}

धन्यवाद