Adriweb wrote:Wistaro wrote:Les booléens sont toujours en minucules [/url]
Oui, justement, alors pourquoi vois-je ceci:
Oupss petite erreur
Adriweb wrote:Wistaro wrote:Pour les accolades, je les mets toujours
C'est très bien, mais je voulais dire, en plus de celà, de les mettre sur une nouvelle ligne (sauf pour une fonction d'une seule ligne, par exemple).
Je n'aime pas tout mettre sur la même ligne, je trouve ça pas très propre, et peu lisible.
Adriweb wrote:Wistaro wrote:Pour le design pattern pourquoi pas du MVC? (le plus classique). L'autre je ne connais pas (encore).
On ne parle pas pour le moment d'avoir une view, concentrons nous sur le reste
Pour la suite, oui. Mais ça viendra relativement tout seul si c'est bien foutu (pas de mélange de code pour du front-end avec du backend, par exemple, dans le PHP)
Oui, c'est sûr.
Adriweb wrote:Wistaro wrote:Pour le système de trait, pourquoi pas, mais ça m'a l'air un peu galère non?
Non, pas vraiment.
Sur le système d'archives V2 pour TI-Planet je m'en sert pour avoir des fonctions high-level communes à plusieurs classes implémentant une interface:Show/Hide spoilerAfficher/Masquer le spoiler
- Code: Select all
include_once "IArcMan.php";
class ArcMan_v1 implements IArcMan
{
use Status_Debug_Logger;
const ARC_TBL_DEFAULT = 'archives';
...
- Code: Select all
include_once "IArcMan.php";
class ArcMan_v2 implements IArcMan
{
use Status_Debug_Logger;
public function __construct($mode)
{
...
- Code: Select all
abstract class AM_STATUS {
const Success = 0;
const Info = 1;
const Warning = 2;
const Error = 3;
}
trait Status_Debug_Logger
{
protected $debug_output = false;
/* @var string Error, Success message, etc. */
private $last_status = "N/A";
/**
* @param bool $state true/false to enable/disable debug output (used in set_status)
*/
public function set_debug($state)
{
if (!is_bool($state))
$state = false;
$this->debug_output = $state;
}
/**
* @return string Retrieves the latest success / error message.
*/
public function get_status()
{
return $this->last_status;
}
/**
* @param string $str The status message
* @param int $type AM_STATUS::Success | AM_STATUS::Info | AM_STATUS::WARNING | AM_STATUS::ERROR
*/
public function set_status($str = null, $type = null)
{
// decode first to avoid double-encoding (happens when setting a status containing a previous status)
$str = htmlentities(html_entity_decode($str), ENT_QUOTES);
$this->last_status = $str;
if ($this->debug_output) {
switch ($type) {
case AM_STATUS::Success:
echoSuccess($str);
break;
case AM_STATUS::Info:
echoInfo($str);
break;
case AM_STATUS::Warning:
echoWarn($str);
break;
case AM_STATUS::Error:
echoErr($str);
break;
default:
echo($str);
break;
}
}
}
}
interface IArcMan
{
...
Oulà. Je ne suis pas professionnel avec des années d'expériences dans le domaine
Peut-être au départ se cantonner à des choses "basiques" que l'on maîtrise bien, plutôt que de partir sur quelque chose de très ambitieux et un peu loin de nos compétences actuelles. Après, rien ne nous empêchera de faire évoluer le code (ou vous si vous le souhaitez) pour le rendre meilleur.