में काम करता है मैं सिम्फनी के लिए नया हूं लेकिन PHP नहीं। मैं सिर्फ यह नहीं समझ सकता कि मुझे कस्टम बंडल से काम करने के लिए होमपेज रूट क्यों नहीं मिल रहा है, लेकिन ऐसा लगता है कि यह कंसोल आउटपुट से काम कर रहा है। जब मैं अपने वेब ब्राउज़र में मार्ग निष्पादित करता हूं तो यह हमेशा ऐपबंडल से /
मार्ग को फिर से चालू कर देगा, यानी डिफ़ॉल्ट सिम्फनी स्वागत पृष्ठ, भले ही ऐपबंडल को registerBundles()
फ़ंक्शन को AppKernal.php में हटा दिया गया हो।कस्टम बंडल के माध्यम से सिम्फनी रूटिंग केवल कंसोल मोड
[2016-06-22 19:07:57] request.INFO: Matched route "homepage". {"route_parameters":{"_controller":"AppBundle\\Controller\\DefaultController::indexAction","_route":"homepage"},"request_uri":"http://bvd-v3.dev/"} []
[2016-06-22 19:07:57] security.INFO: Populated the TokenStorage with an anonymous Token. [] []
[2016-06-22 19:07:57] request.CRITICAL: Uncaught PHP Exception InvalidArgumentException: "Class "AppBundle\Controller\DefaultController" does not exist." at /Users/apple/projects/mentel/bvd-v3/var/cache/prod/classes.php line 2498 {"exception":"[object] (InvalidArgumentException(code: 0): Class \"AppBundle\\Controller\\DefaultController\" does not exist. at /Users/apple/projects/mentel/bvd-v3/var/cache/prod/classes.php:2498)"} []
फिर भी, अगर मैं php bin/console router:match /
फोन उत्पादन होता है:: मैं इस बात की पुष्टि कर सकते हैं, क्योंकि यदि/src मैं निम्नलिखित त्रुटि लॉग मिल जाएगा से AppBundle निर्देशिका हटाना
+--------------+---------------------------------------------------------+
| Property | Value |
+--------------+---------------------------------------------------------+
| Route Name | homepage |
| Path |/ |
| Path Regex | #^/$#s |
| Host | ANY |
| Host Regex | |
| Scheme | ANY |
| Method | ANY |
| Requirements | NO CUSTOM |
| Class | Symfony\Component\Routing\Route |
| Defaults | _controller: MentelBundle:Index:index |
| Options | compiler_class: Symfony\Component\Routing\RouteCompiler |
+--------------+---------------------------------------------------------+
हैं मैं फोन php bin/console debug:router
उत्पादन होता है:
-------------------------- -------- -------- ------ -----------------------------------
Name Method Scheme Host Path
-------------------------- -------- -------- ------ -----------------------------------
_wdt ANY ANY ANY /_wdt/{token}
_profiler_home ANY ANY ANY /_profiler/
_profiler_search ANY ANY ANY /_profiler/search
_profiler_search_bar ANY ANY ANY /_profiler/search_bar
_profiler_info ANY ANY ANY /_profiler/info/{about}
_profiler_phpinfo ANY ANY ANY /_profiler/phpinfo
_profiler_search_results ANY ANY ANY /_profiler/{token}/search/results
_profiler ANY ANY ANY /_profiler/{token}
_profiler_router ANY ANY ANY /_profiler/{token}/router
_profiler_exception ANY ANY ANY /_profiler/{token}/exception
_profiler_exception_css ANY ANY ANY /_profiler/{token}/exception.css
_twig_error_test ANY ANY ANY /_error/{code}.{_format}
homepage ANY ANY ANY /
routing.yml की सामग्री: /app/AppKernal.php में
_wdt:
resource: "@WebProfilerBundle/Resources/config/routing/wdt.xml"
prefix: /_wdt
_profiler:
resource: "@WebProfilerBundle/Resources/config/routing/profiler.xml"
prefix: /_profiler
_errors:
resource: "@TwigBundle/Resources/config/routing/errors.xml"
prefix: /_error
_main:
resource: routing.yml
registerBundles()
की सामग्री::
mentel:
resource: "@MentelBundle/Controller/"
type: annotation
routing_dev.yml की सामग्री
public function registerBundles()
{
$bundles = [
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
new Symfony\Bundle\TwigBundle\TwigBundle(),
new Symfony\Bundle\MonologBundle\MonologBundle(),
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
new BVD\MentelBundle\MentelBundle(),
];
if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
}
return $bundles;
}
नियंत्रक की सामग्री:
<?php
namespace BVD\MentelBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
class IndexController extends Controller
{
/**
* @Route("/", name="homepage")
*/
public function indexAction()
{
die('?');
return $this->render('@mentel/pages/home.html.twig', array(
// ...
));
}
}
मेरा प्रश्न पढ़ने के लिए धन्यवाद, वास्तव में आप जो भी मदद कर सकते हैं उसकी सराहना करेंगे।
इसलिए मुझे लगता है कि वहाँ है और गलत समझा। @Route ("/", name = "homepage") का मतलब है hostname.de/ मार्ग है अगर आप hostname.de/ मुखपृष्ठ @ रूट ("/ मुखपृष्ठ", name = "मुखपृष्ठ") चाहते हैं तो आपको – fucethebads
का उपयोग करना चाहिए I टी चाहते हैं कि '/ होमपेज' मैं डोमेन से सेवा प्रदान करना चाहता हूं, यानी 'http: // example.com' जो'/'होगा, लेकिन आप जो भी कहते हैं, इससे कोई फर्क नहीं पड़ता, क्योंकि '/ something_else' को रूट बदलना 'सिर्फ सिम्फनी 404 दे देंगे। चूंकि उसके लिए कोई ऐपबंडल रूट नहीं है। – DrewT
क्या आपने अपना कैश साफ़ करने का प्रयास किया है ('bin/console cache: clear')? – Oldskool