This application is not used any more and exists only for history. Post new tickets on the Github account.
Cette application n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.

Ticket #1450 (confirmed enhancement)

Opened 3 years ago

Last modified 18 months ago

Savoir si un selecteur pointe vers un fichier existant.

Reported by: flav Owned by:
Priority: normal Milestone: Jelix 2.0.0
Component: jelix:core Version: 1.3.1
Severity: normal Keywords:
Cc: Blocked By:
Blocking: Documentation needed: no
Hosting Provider: Php version:

Description (last modified by laurentj) (diff)

Si l'on fait :

    $selector = jSelectorFactory::create($unSelecteur);
    if(!file_exists($selector->getPath())  {
       ...
    }

On obtient une exception. Ce qui n'est pas très pratique. Une fonction statique jSelectorFactory::exists($nom_du_selecteur) ? Ou quelque chose comme ça pourrait être avantageux.

Change History

comment:1 Changed 3 years ago by flav

Ceci dit, on peut faire un try{} cautch{}, mais ça fait lourd...

comment:2 Changed 3 years ago by laurentj

Un cas d'utilisation ? parce qu'à priori, quand on utilise un selecteur, on sait que le fichier existe. Ou alors c'est une erreur de programmation.

comment:3 Changed 3 years ago by flav

Je suis toujours en train de reproduire le fonctionnement de SPIP, ainsi le principe est de pouvoir appeller une page par l'URI. Chaque page est un squelette. Or si l'on veut atteindre une page qui n'existe une erreur 404 est plus appropriée qu'une erreur 500. Pour ça je dois tester l'existence du fichier. Je pourrais le faire, mais à priori, selon la config, le template peut être dans n'importe quel module, et le module lui même est suceptible de ne pas exister ou de ne pas être installé... Comme jSelector teste déjà toute ces choses là, je suis tenté d'en tirer parti.

comment:4 Changed 3 years ago by flav

un autre cas d'utilisation : l'objet jelixuser de jauthdb. Voir http://jelix.org/forums/forum/5-jelix-utilisation-et-developpement/posts/7514-7514-resolu-master_admin-jelix-1-2. Il pourrait être pratique que jelixuser teste la disponibilité de son dao avant de renvoyer une erreur.

comment:5 Changed 3 years ago by laurentj

Je n'ai pas vraiment compris ton cas d'utilisation de SPIP, d'autant plus que je ne connais pas le fonctionnement de spip.

Pour le cas d'utilisation de jelixuser, le fait de pouvoir tester l'existance du dao ne changerai rien du tout. Il s'agit ici d'un objet, qui est en session. l'autoloader tente de charger la classe qui correspond, (et qui correspond ici à une classe dao). Si le dao n'existe pas, on aura quand même une erreur PHP, parce que PHP n'aura pas la classe -> le chargement de la session echouera quand même, donc erreur etc...

comment:6 Changed 2 years ago by laurentj

  • Component changed from jelix to jelix:core
  • Description modified (diff)
  • Milestone set to Jelix 2.0

C'est un truc que l'on pourra éventuellement faire dans Jelix 2. ça change trop de comportements.

comment:7 Changed 18 months ago by laurentj

  • Status changed from new to confirmed
Note: See TracTickets for help on using tickets.