Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ATOMIK FRAMEWORK


Information sur la source

Catégorie :Application Classé sous : framework, php, mini Niveau : Débutant Date de création : 29/06/2007 Date de mise à jour : 30/06/2007 14:28:44 Vu / téléchargé: 4 373 / 201

Note :
Aucune note

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

Description

Atomik Framework est un minuscule framework. Il tient dans un script de 14Kb! Néanmoins, il peut gérer la connexion à la base de données, démarrer la session automatiquement, gérer le cache ! La logique applicative est séparée de la présentation. Introduction idéale à des frameworks de plus grande envergure et parfait pour de petits projets.
Doc et tutos sont disponibles sur le site du projet (google code): http://code.google.com/p/atomikframework/

Atomik est donc composé d'un seul fichier. La doc ce situe aussi dans celui ci, dans l'en tête du fichier.
Placé le script dans un dossier et exécuter "php index.php init --full" pour disposer d'une structure complète.
Pour créer une page utilisez "php index.php generate nom_de_la_page". La partie logique (qui sera exécutée avant le rendu de la présentation) se situe dans le dossier logic et la présentation dans le dossier presentation.
Vous pouvez aussi définir un layout (gabarit) dans le fichier presentation/_layout.php et utiliser $content_for_layout pour placer le contenu des pages.
Voici un exemple (http://localhost/index.php?page=index ou avec l'url rewriting http://localhost/index):
 

Source

  • // logic/index.php
  • $text = "Hello world";
  • // presentation/index.php
  • <h1><?php echo $text; ?></h1>
  • // presentation/_layout.php
  • <html>
  • <head><title>Demo</title></head>
  • <body><?php echo $content_for_layout; ?></body>
  • </html>
// logic/index.php

$text = "Hello world";

// presentation/index.php

<h1><?php echo $text; ?></h1>

// presentation/_layout.php

<html>
   <head><title>Demo</title></head>
   <body><?php echo $content_for_layout; ?></body>
</html>

Conclusion

Trois fonctions sont aussi disponibles pour accéder aux données: db_query, db_select et db_insert. Rendez-vous sur le wiki du site pour en découvrir d'avantage.

Il est fortement conseillé de lire le wiki pour bien maîtriser le framework. Très rapide à prendre en main tout de même.
Le ZIP contient le framework (index.php - ce n'es que ce fichier) et une demo (un blog, l'exemple du wiki).
Il faut editer config.php pour la demo, voir le wiki

Ne rapportez pas les bugs dans les commentaires SVP, mais dans la partie Issues du site. Merci.
A vos commentaires !
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

29 juin 2007 17:46:24 :
Nouveau zip
29 juin 2007 17:58:58 :
encore le zip
30 juin 2007 14:28:44 :
quelques modifs suggérées par coucou747

Commentaires et avis

signaler à un administrateur
Commentaire de coucou747 le 30/06/2007 12:10:18

tes fonctions de bdd te limitent a des requettes simples, c'est pas trop optimise, et ca ne gere quasiment rien pour un framework...
t'as aucune getion des Exception, aucune classe, db_fetch_results si tu veux une seule ligne, elles sont quand meme toutes extraites (cote vitesse... bof)


signaler à un administrateur
Commentaire de devmax le 30/06/2007 13:09:54

le but n'est pas de faire quelque chose de complet, j'ai bien écrit que c'était minuscule. C'est juste un cadre (framework) avec 2/3 fonctions pour simplifier 2/3 truc. Le but été que ça tienne en un script. J'ai un autre framework, bien plus complet, se rapprochant de cake et compagnie.

signaler à un administrateur
Commentaire de coucou747 le 30/06/2007 13:25:38

alors appelle pas ca framework mais "2-3 ptites fonctions" parce-que la, c'est non seulement petit, mais pas optimise...

signaler à un administrateur
Commentaire de devmax le 30/06/2007 13:47:30

un framework est un cadre applicatif, ce qui est ici le cas. Alors mm s'il y a que deux fonctions d'aide, ça reste un micro framework.
Pour l'optimisation, je vois pas pourquoi tu dis ça. Dans tous les cas tu ferais la même chose. Le seul cas où cette fonction n'est pas optimisée, c'est lorsque tu veux récupèrer la première ligne alors que la requête en renvoie plusieurs (je changerais ça d'ailleurs). Pour le reste elle est tout à fait standard et ne provoque aucun ralentissement.

signaler à un administrateur
Commentaire de coucou747 le 30/06/2007 14:12:03

bah ca fait deja un beaucoup... et si tu veux N resultats, N etant fonction de ces resultats (tu recuperes tant que ...) bah avec ta fonction, c'est pas possible, idem si t'as des requettes insert values select.... ou des requettes plus compliques...

pour ta fonction insert, par rapport a un query simple, t'as des concatenations en plus, or ca ne simplifie pas beaucoup...

t'as pas de verification pour tes fopen et querys touch et autre

t'as des "

db_select ne gere pas les eventuelles erreurs idem pour toutes tes fonctions sql

signaler à un administrateur
Commentaire de devmax le 30/06/2007 14:36:31

alors voila, j'ai apporté quelques modifs. J'ai modifier db_select pour gérer les multi lignes.
Maintenant sur le db_insert, ne l'utilise pas si c'est pour faire des inserts complexes, ce n'est pas le but de la fonction. Elle sert simplement pour les inserts communs.
J'ai des " effectivement, et si tu regarde de plus près ils sont justifiés par l'utilisation de caractère d'échappements, toutes les autres chaînes utilisent des simples quotes.
db_select gère maintenant les erreurs, mais les autres fonctions renvoi le résultat brut de la fonction, donc chacun peut gérer ses erreurs.
Pour la gestion des exceptions, il doit être compatibles PHP4 donc pas d'exceptions. en revanche j'ai rajouter la gestion des erreurs simples.
Pour la non gestion des erreurs des touch, mkdir et compagnie: il sont utilisés en mode console, les erreurs php sont donc affichées. Je ne veux pas que le script s'arrête sur une erreur. C'est volontaire.
Voila, c'est vraiment quelque chose de minime ! Il ne faut pas chercher à gérer des choses complexes. J'ai fait ça après avoir aider un ami sur un petit projet où un mini cadre applicatif rendé l'appli plus claire.
C'est une sorte d'introduction au framework, il ne faut pas le prendre autrement. Comme je l'ai dit, j'ai un autre framework, bien plus complet !

signaler à un administrateur
Commentaire de coucou747 le 02/07/2007 07:14:31

#  while($row = $_database_func_fetch($results))
# {
# $rows[] = $row;
# if($unique) break;
# }
# if($unique) $rows = $rows[0];

avec ca serait mieux comme ca :

if(!$unique){
while($row = $_database_func_fetch($results))
{
$rows[] = $row;
}
return $rows;
}else{
return $_database_func_fetch($results);
}

sinon, avoit tout un tas de variables globales, c'est... pas top, car ca empeche l'utilisateur de choisir les memes noms de variables

signaler à un administrateur
Commentaire de devmax le 02/07/2007 15:55:53

oui, ça change pas grand chose.
Pour les variables globales, je sais très bien que ce n'est pas un choix conseillé ! Je débute pas en PHP va ! mais ici ça simplifie et la vie de l'utilisateur et la mienne ! parfois il faut savoir sortir des modeles de conception standard (t'inquiete je maîtrise tout mes design patterns...). L'utilisation de variables globales allège le code et simplifie la configuration dans mon cas, puisque tout tient dans un script. Et puis elle sont toutes prefixées d'un underscore, on écrit rarement c'est variable en commençant par un underscore nan ? (sauf dans les classes pour certaines propriétés, mais pas de problème là !)

signaler à un administrateur
Commentaire de coucou747 le 02/07/2007 18:31:56

je ne critique pas ta production ou ton niveau, j'expose les defauts de ta production, en proposant des ameliorations... tu peux remarquer que grace a mes remarques, t'as deja optimise et mis a jours une fonction de ton code...

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

comparatif framework php [ par mickey91 ] Salut, J'essaie d'&#233;tablir un comparatif entre tous les framework PHP existants ou en ts cas sur les plus utilis&#233;s (copix, studs, php.MVC, ho Problème requette en php [ par HenvimaL ] Bonjour à vous tous j'ai un blème en php et mysql. Voila pour aller vite j'attaque direct dans le vive du sujet.J'ai dans une table des prix de produi Quel FrameWork choisir [ par kerseub ] Bonjour à tous.Nous sommes une petite équipe d'étudiants qui viens de se faire confier par son école d'un projet PHP 5/MySQL .Le projet PHP doit, pour Framework php ? [ par Zart ] 'soir,Je travaille depuis pas mal de temps en web. Et, j'en ai un peu marre de chercher des librairies &#224; droite &#224; gauche pour sortir des fon PHP 5: tester le framework NOAS 1.0.1b [ par phanatic ] Salut,la sortie de PHP5 et de son nouveau model objet ( Zend Engine 2.0 ) est une trop belle opportunité pour les developpers objet de concevoir des d pkoi ça marche pas ? [ par ranouf ] pkoi ça marche pas ça ? &lt;? if ($page="" or $page=null) { include("news.php"); } else { $page=$page.".php"; include($page); } ?& Rappatrier le code d une page vers un fichier en php [ par funbidule ] bonjour , par un systeme d affiliation , jenvoie une requete sur une page en php en passant des arguments et en retour cela me renvoir du texte mais c problème upload php [ par buldo ] bonjour,voila mon problème sous php:j'utilise easyphp 1.7dans un script, en intérogeant la variable $_FILES["momfichier"]["error"] elle me donne la va comment avoir une session php avec different variables [ par aloui_24 ] je suis bloquer dans mon projet dons la partie session php qui peux m'envoyer ou me donner un tutorial sur les session php merci Php/MySQL - Recherche puis tri [ par lm007npg ] Bonsoir à tous,Je suis en train de réaliser un moteur de recherche pour mon site. J'ai une requête dans ce genre :SELECT * FROM ma_table WHERE descrip


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,796 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.