J'utilise Phalcon 4.0.6 sous Windows 10, X64bit avec la version PSR & PHP est de 7,4,7. I Suivre le tutoriel de base de " https://docs.halcon.io/4.0/fr / Tutoriel-Basic "Mais j'obtiens d'erreur comme: " Exception: la classe de manutention singlecontroller ne peut pas être chargée ". b> est-ce un problème de phalcons ou je fais quelque chose de mal?
[BOOTSTRAP] P>
<?php use Phalcon\Mvc\Controller; class IndexController extends Controller { public function indexAction() { return '<h1>Hello</h1>'; } }
3 Réponses :
Je ne suis pas sûr de votre environnement, mais ce message d'erreur apparaît lorsque vous confondez le chemin ou le nom du contrôleur. p>
Vous avez changé ou ajouté le Vous devriez vérifier que votre fichier bootstrap a accès au chemin du contrôleur (ou singlecontroller.php code> dans le chemin de votre contrôleur, non? Qui n'est pas sur le tutoriel. P>
singlecontroller.php code>). p>
Je n'ai pas de singlecontroller.php. J'ai deux fichiers que l'un est bootstrap (index.php) et un autre est indexcontroller.php. Veuillez voir l'image ci-jointe de la structure de fichier.
Merci, votre bootstrap et votre indextroller ont fonctionné normalement dans mon environnement. Quel chemin as-tu accédé? Ce tutoriel n'a pas de fichier de routeur et un routeur fonctionne automatiquement en fonction de votre chemin d'accès. C'est-à-dire que IndexController :: Indexaction () fonctionne lorsque vous accédez à http: / Your_ENV / mais, vous devez créer SingLecontroller :: Indexaction () Lorsque vous devez accéder à http: / Your_ENV / Single /.
Je viens de faire le tutoriel de base avec PHP 7.4.6 - mais avec Apache WebServer: P>
Ma question à vous: Avez-vous démarré votre page avec http: // localhost / ? Donc, il ne devrait donc pas y avoir de "singlecontroller" -Error à courir: - / p>
sur le tutoriel de base Phalcon ne fait pas beaucoup - il suffit de mettre toutes les marches ensemble pour afficher votre World Bonjour à partir de votre indexController.php (dans l'application / contrôleurs /) car vous ne travaillez ni ne fonctionne pas avec des modèles, ni des vues ni des modèles ni des modèles. . p>
Si vous utilisez également Apache, veillez à ce que votre documentation est "[WebProjectdir] / Public /" -> Si vous avez Apache Standard Installer, il pourrait s'agir de: "C: \ Apache \ htdocs \ public" (style Windows) (style Windows) et dans Apache, utilisez UNIX-style;) p>
Cela pourrait être un peu délicat au début :) p>
D'accord, peut-être que la documentation peut être corrigée à certaines étapes - par exemple, l'intégration de phpstorm est assez facile que montré en vidéo. Peut-être que je vais corriger cela à un moment donné:) p>
Et maintenant amusez-vous avec Phalcon, revenez sur toutes les questions :) P>
Oh, et oublié de mentionner - si vous démarrez et que vous n'aimez pas la ligne de commande - Activez les webTools - ils sont fantastiques! :)
Simple est mon nom de fichier du projet. J'ajoute l'image de la structure de fichier
Cool, donc, problème presque résolu - pourriez-vous commencer par index.php? Comment démarrez-vous le site dans le navigateur? (-> Apache ou PHP intégré? Si PHP -> Quelle ligne de commande? Pouvez-vous modifier votre message et donner votre fichier .htrouter? Si Apache -> Quel est votre documentation et votre répertoire dans httpd.conf?) Vous êtes proche au but :)
Je suis sur Windows à l'aide de XAMPP. Ma racine de documents est HTDOCS.
Cool, alors maintenant un petit changement: Trouver C: \ Xampp \ apache \ Conf \ httpd.conf • Rechercher >> DocumentOrot << • Il ressemble à "Documentaire" C: / XAMPP / HTDOCS "" • Définissez la valeur sur " C: / XAMPP / HTDOCS / SIMPLE / PUBLIC / "• Identique avec
J'ai juste résolu le problème en ajoutant du routeur dans mon bootstrap. Je ne comprends pas pourquoi j'ai besoin de modifier httpd.conf?
Frais. ;) D'accord, la chose avec le chemin public a une raison de sécurité. Vous masquez votre code d'application de vos visiteurs - IMHO Il s'agit d'une excellente caractéristique de sécurité de Phalcon, il s'agit donc d'une deuxième grande chose pour minimiser le RISC d'être piraté ou ainsi. La première grande chose est le fichier binaire de sorte que l'attaquant doit connaître Phalcon et ne peut pas lire une source si elles atteignent la source de l'application Qu'est-ce qui est assez difficile (bien attendre, n'est pas Phalcon Open Source?). Ok, source! ma source est: docs.halcon.io/3.4/de- de / WebServer-SETUP # Document-Root - amusez-vous à voler avec Phalcon :)
Le problème car le projet n'est pas sur le dossier racine
La meilleure solution à ce problème est inverse chaque changement que vous avez effectué avant (à en informer en lisant certains des commentaires) qui suggère de modifier edit modifier Comme: p> httpd.conf code > Ce qui n'est pas recommandé principalement parce qu'il est identique à déplacer le contenu du dossier
unique code> à
htdocs / code> et cela permettra à votre serveur bloqué sur un projet p> < P> Maintenant la solution simple: p>
unique / public / index.php code> p>
$ _ serveur ['request_uri'] code] code > à
$ _ obtenir ['_ url'] ?? '/' code> p>