Skip to content

wami0/PoiPHP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

PoiPHP – 最小・明快・必要最小限の PHP フレームワーク

Version: 1.0.0

PoiPHP は「余計なものはポイ」という思想で作られた、最小・明快・必要最小限の PHP フレームワークです。

  • 設定ファイルは 1 つだけ
  • コントローラは 1 ファイルで完結index.phpaction を書く)
  • layout.html によるシンプルなテンプレート構造
  • Model は「1 テーブル = 1 クラス」
  • 依存ライブラリなし
  • 小さく、読みやすく、迷わない設計

小規模〜中規模の Web アプリケーションを素早く・気持ちよく構築するためのフレームワークです。


ディレクトリ構造

/your-app/
 ├ index.php         ← アプリの入口(actionを書く)
 ├ html/             ← テンプレート
 ├ models/           ← モデル(必要な人だけ作る・任意)
 └ PoiPHP/           ← フレームワーク本体
     ├ core/         ← フレームワーク内部クラス
     ├ poiphp.php    ← メインローダー
     └ config.php    ← フレームワーク設定

最小のサンプルコード

まずはこれだけで画面が表示されます。

【index.php】

<?php
require_once __DIR__ . '/PoiPHP/poiphp.php';

// 全ての処理はこの action 関数から始まります
function action(&$c)
{
    // テンプレートへ値を渡す
    $c->set("message", "Hello PoiPHP!");
    
    // 表示するテンプレートを指定
    $c->setTemplateFile("html/index.html");
}

【html/index.html】

<h1><?= $s->html($message) ?></h1>

テンプレートとレイアウト

PoiPHP は layout.html を使った、シンプルで分かりやすいテンプレート構造を採用しています。

  • 共通デザイン(layout.html) にヘッダーやフッターを書く。
  • 各ページのテンプレート には「中身」だけを書く。
  • 実行時、<?= $_poi_content ?> の位置に中身が自動で合体します。

セキュリティ(サニタイズ)

テンプレートでは、安全な出力のために $s オブジェクトが自動で使えます。

  • $s->h($str) : HTMLエスケープ(htmlspecialchars の短縮形)
  • $s->url($str) : URLエンコード
  • $s->json($data) : JavaScriptに渡すための安全なJSON出力

インストール

PoiPHP は依存ライブラリがありません。

  1. PoiPHP をダウンロード します。
  2. 自分のサーバー(Apache/Nginx等)に配置します。
  3. PoiPHP/config.php で DB 設定をして完了!
/your-app/
 ├ index.php
 ├ html/
 │   └ index.html
 ├ models/(任意)
 └ PoiPHP/
     ├ config.php
     ├ poiphp.php
     └ core/

ライセンス

License: MIT License(商用・個人問わず自由に使えます)


公式サイト

https://poiphp.m2-lab.net/

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors