slam4:php:codeigniter:astuces

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
slam4:php:codeigniter:astuces [2014/12/04 00:59] – [Contrôleur personnalisé et complétion de code] jcheronslam4:php:codeigniter:astuces [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1
Ligne 11: Ligne 11:
   - [[slam4:php:codeigniter:javascript|Javascript et codeIgniter]]   - [[slam4:php:codeigniter:javascript|Javascript et codeIgniter]]
  
 +===== Contrôleurs =====
 ==== Création d'un contrôleur de base personnalisé par surdéfinition de CI_Controller ==== ==== Création d'un contrôleur de base personnalisé par surdéfinition de CI_Controller ====
  
Ligne 55: Ligne 55:
  
  
-===== Contrôleur personnalisé et complétion de code  =====+==== Contrôleur personnalisé et complétion de code  ====
  
 L’inconvénient majeur de php est l'absence de typage des variables, combiné dans le cas présent au fonctionnement même de codeIgniter, les 2 réunis font qu'aucune complétion n'est présente par défaut sur les principaux objets accessibles depuis un contrôleur : L’inconvénient majeur de php est l'absence de typage des variables, combiné dans le cas présent au fonctionnement même de codeIgniter, les 2 réunis font qu'aucune complétion n'est présente par défaut sur les principaux objets accessibles depuis un contrôleur :
Ligne 72: Ligne 72:
  * @var CI_JsUtils  * @var CI_JsUtils
  */  */
- private $jsutils;+ protected $jsutils
 + 
 + /** 
 + * @var CI_Session 
 + */ 
 + protected $session;
   
  /**  /**
  * @var CI_Base  * @var CI_Base
  */  */
- private $CI;+ protected $CI;
   
  /**  /**
Ligne 87: Ligne 92:
  * @var CI_Loader  * @var CI_Loader
  */  */
- private $load;+ protected $load;
   
  public function __construct(){   public function __construct(){ 
Ligne 96: Ligne 101:
 </sxh> </sxh>
  
-===== Contrôleur personnalisé et contrôle des accès =====+==== Contrôleur personnalisé et contrôle des accès ====
  
 <sxh php;tilte:BaseCtrl.php> <sxh php;tilte:BaseCtrl.php>
Ligne 104: Ligne 109:
  
  public function __construct(){  public function __construct(){
- // TODO Auto-generated method stub 
  parent::__construct();  parent::__construct();
- if(!$this->isValid()) + if(!$this->_isValid()) 
- $this->onInvalidControl();+ $this->_onInvalidControl();
  }  }
  /**  /**
Ligne 113: Ligne 117:
  * @return boolean  * @return boolean
  */  */
- public function isValid(){+ protected function _isValid(){
  return true;  return true;
  }  }
   
- public function onInvalidControl(){+ protected function _onInvalidControl(){
  header('HTTP/1.1 401 Unauthorized', true, 401);  header('HTTP/1.1 401 Unauthorized', true, 401);
  exit;  exit;
  }  }
 } }
 +</sxh>
 +
 +
 +==== Helpers ====
 +
 +Helper avec quelques fonctions liées à la requête, à charger dans l'autoload ou directement depuis un contrôleur :
 +
 +
 +<sxh php;title:request_helper.php>
 +<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 +/**
 + * CodeIgniter
 + *
 + * An open source application development framework for PHP 5.1.6 or newer
 + *
 + * @package CodeIgniter
 + * @author jcheron
 + * @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
 + * @license lgpl
 + * @version 1.0
 + * @filesource
 + */
 +
 +// ------------------------------------------------------------------------
 +
 +/**
 + * Request Helpers
 + *
 + * @package CodeIgniter
 + * @subpackage Helpers
 + * @category Helpers
 + * @author jcheron
 + * @link http://slamwiki.kobject.net
 + */
 +
 +// ------------------------------------------------------------------------
 +
 + /**
 + * setValuesToObject
 + * Affecte membre à membre les valeurs du tableau associatif $values aux membres de l'objet $object
 + * Utilisé par exemple pour récupérer les variables postées et les affecter aux membres d'un objet 
 + * @param Class $object
 + * @param associative array $values
 + */
 + if(!function_exists("setValuesToObject")){
 + function setValuesToObject($object,$values=null){
 + if(!isset($values))
 + $values=$_POST;
 + foreach ($values as $key=>$value){
 + $accessor="set".ucfirst($key);
 + if(method_exists($object, $accessor)){
 + $object->$accessor($value);
 + }
 + }
 + }
 + }
 +
 + /**
 + * getPost
 + * Appel d'une fonction de nettoyage sur le post
 + * @param string $function
 + * @return multitype:
 + */
 + if(!function_exists("getPost")){
 + function getPost($function="htmlentities"){
 + return array_map($function, $_POST);
 + }
 + }
 +</sxh>
 +==== DAO Helper ====
 +
 +{{:slam4:php:codeigniter:dao_helper.php|}}
  • slam4/php/codeigniter/astuces.1417651182.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)