PHPackages                             sohoa/sohoa - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. sohoa/sohoa

ActiveLibrary

sohoa/sohoa
===========

5801[1 PRs](https://github.com/sohoa/sohoa/pulls)PHP

Since Nov 1Pushed 11y ago4 watchersCompare

[ Source](https://github.com/sohoa/sohoa)[ Packagist](https://packagist.org/packages/sohoa/sohoa)[ RSS](/packages/sohoa-sohoa/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Framework sohoa
===============

[](#framework-sohoa)

Installation
------------

[](#installation)

Pour installer sohoa il a rien de plus simple avec [composer](http://getcomposer.org/doc/00-intro.md#locally)il vous suffit d'executer la commande suivante

```
composer create-project -s dev sohoa/sohoa myProject
```

Utiliser sohoa sur votre serveur web
------------------------------------

[](#utiliser-sohoa-sur-votre-serveur-web)

Nous avons adoptez l'architecture de fichiers suivante

- Application
    - Controller
    - Config (Ce dossier contient les fichiers propres à votre application (Route , Environnement , …)
    - Model
    - View
    - …
- Public
    - Css
    - …

Nous allons faire pointer notre nom de domaine  par exemple vers le dossier Public au moyen d'un [vhost](http://hoa-project.net/Literature/Learn/Appendix_http_servers.html#Hote_virtuel_avec_VirtualHost)

```

  ServerName foo.hoa

  DocumentRoot "/path/to/my/sohoa/app/Public"

    Options All
    AllowOverride All

```

Routeur
-------

[](#routeur)

Environnement
-------------

[](#environnement)

Greut (Le système de vue par [Yoan Blanc](https://github.com/greut/template))
-----------------------------------------------------------------------------

[](#greut-le-système-de-vue-par-yoan-blanc)

Pour utiliser le système de vue il faut le déclarer dans notre fichier Public/index.php avec ainsi :

```
$framework       = new /Sohoa/Framework/Framework();
$framework->view = new /Sohoa/Framework/View/Greut();
$framework->run();
```

et dans le controller Application/Controller/Main.php

```
public function IndexAction(){
    $this->greut->render(); // Cette action va automatiquement allez chercher la vue ./Application/View/Main/Index.tpl.php
}
```

la méthode render() peut prendre deux types de données en paramètre

```
$this->greut->render(['myControllerName' , 'myActionName']); // ./Application/View/myControllerName/myActionName.tpl.php
```

ainsi que

```
$this->greut->render('/an/path/to/the/view.tpl.php');
```

##### Les données avec greut

[](#les-données-avec-greut)

Nous avons un mécanisme assez simple pour la gestion des données variables dans Greut ainsi dans le controlleur si l'on définie la variable

```
$this->data->foo = 'bar';
```

Nous pourrons y acceder dans la vue associée via

```
echo $foo; // qui retournera bar
```

Glossaire
---------

[](#glossaire)

##### Kit

[](#kit)

Les kits sont des classes qui apporte un lot de fontion génériques a une classe données exemple la gestion des redirections etc …, mais cela peut être pour des données métiers exemple : la gestion des authorisations d'accès etc …

##### Helpers

[](#helpers)

Les helpers sont des fonctions regroupées autour d'un thème (catégorie) communes pour permettre d'ajouter des usages/fonctionnalités au système de vue Greut, ainsi on peut avoir le helper suivant dans le fichier ./Application/View/Main/Index.tpl.php :

```
$this->router->unroute('root'); // va générer "/"
$this->html->a('root' , [] , 'foo' , 'bar') // Pourrait générer bar
```

##### Services

[](#services)

Un services est une classe php classique que l'on instancie et que l'on rend disponnible à l'ensemble de notre application on reproduit le principe du Design Pattern [singleton](http://fr.wikipedia.org/wiki/Singleton_%28patron_de_conception%29)

Tests
-----

[](#tests)

##### Tests unitaires

[](#tests-unitaires)

Nous utilisons des tests unitaires fait avec [atoum](http://docs.atoum.org/fr/#Composer) et les executons avec

```
php vendor/bin/atoum -d Tests/Unit/Classes/

```

Nous utilisons également travis pour gerer la compatibilité avec toutes les verions php (5.3 5.4 5.5) et aider a la refactorisation et la gestion des PR.

##### Tests fonctionnels

[](#tests-fonctionnels)

Nous utilisons avec sohoa/sohoa des tests [fonctionnels](https://github.com/sohoa/sohoa/blob/master/Tests/Functionnal/application.js)

Contribution
------------

[](#contribution)

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/ed2e14f65c06c676718d820b62339447c17d3db8bd9b90bd83de1890256f49a2?d=identicon)[maitrepylos](/maintainers/maitrepylos)

---

Top Contributors

[![osaris](https://avatars.githubusercontent.com/u/125797?v=4)](https://github.com/osaris "osaris (7 commits)")[![maitrepylos](https://avatars.githubusercontent.com/u/1299622?v=4)](https://github.com/maitrepylos "maitrepylos (5 commits)")[![guiled](https://avatars.githubusercontent.com/u/311895?v=4)](https://github.com/guiled "guiled (4 commits)")

### Embed Badge

![Health badge](/badges/sohoa-sohoa/health.svg)

```
[![Health](https://phpackages.com/badges/sohoa-sohoa/health.svg)](https://phpackages.com/packages/sohoa-sohoa)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
