CodeIgniter Ver3.主な変更点と+BootStrap

By ttakao, 2014年12月3日

めでたくライセンスがブリティッシュコロンビア工科大学に移り、MITライセンスなりました。

ただし、Ver3から。

ちゅうことで使ってみていきなり蹴つまづいた。

従来、Controllerはクラス名は最初の一文字は大文字でなければなりませんでした。一方、ファイル名は全部小文字でした。

Ver3からはファイル名も最初の人も一文字は大文字でなくてはいけません。

Change Log(https://github.com/bcit-ci/CodeIgniter/blob/develop/user_guide_src/source/changelog.rst)で概要を見ます。

  • PHP5.1.6はサポートされません。5.2.4以上、5.4+が推奨
  • ファイルネームのルールが最初の一文字が大文字で残りは小文字にかわりました。
  • MySQLが標準のドライバーとなりました。(重要視されるようになった)
  • $_SERVER[‘CI_ENV’]に環境定数がセットされます。
  • php-errorテンプレートにバックトレースするオプション追加
  • ユーザーエージェントにAndroidを追加
  • ユーザープラットフォームにWindows 7, Window 8, Android, Blackberry, IOSとPlayStation 3を追加
  • モバイルユーザーエージェントにFennec(Firefox for mobile)を追加
  • ログをエラータイプで絞れる機能
  • 例外ハンドラーの追加
  • ?mimes.phpでpem, p10, p12,p7a, p7m, p7s, crt, crl, der, kdb, rsa, cer, sst, csr Certsのサポート追加
  • mimes.phpにpgp, gpg, zshとcdrファイルのサポート追加
  • mimes.phpに3gp, 3g2, mp4, wmv, f4v, vic ヴィデオファイルサポート追加
  • mimes.phpにm4a, aac, m4u, xspf, au, ac3, flac, ogg, wmaのオーディオファイルサポート追加
  • mimes.phpにkmzとkml(Google Earth)のサポート追加
  • mimes.phpにicsカレンダーファイルサポート追加
  • mimes.phpにrar,jar, 7zipアーカイブファイルサポート追加
  • mimies.phpのxml(‘application/xml’)とxsl(’application/xml’, ‘text/xsl’)ファイルサポート更新
  • mimes.phpのdoc, docxファイルサポート更新
  • mimes.phpのphpファイルサポート更新
  • mimes.phpのzipファイルサポート更新
  • mimes.phpのcsvファイルサポート更新
  • application/config/foreign_characters.phpにルーマニア、ギリシャ、キリル文字追加
  • SHA1ライブラリーの撤廃
  • application/config/autoload.phpの$autoload[‘core]の使用を撤廃。う?とロードさされるエントリーは$autoload[‘libararies’]のみ
  • EXT定数を撤廃
  • すべてのクラスをPHP 5スタイルにし、プロパティにvarを使うのをやめる
  • ?エラーテンプレートをapplication/views/errors/に移動し、パスを$config[‘error_views_path’]で定義
  • CLIアプリケーションのために、HTML形式でないテンプレートサポートを追加
  • application/coreにログクラスを移動
  • グローバルconfigファイルが最初にロードされて、環境ファイルがロードされる。環境configキーで上書きできる。これにより環境により変更できるもののみを許す。
  • $view_folderがカレントパスの下にない場合、アプリケーションフォルダーを探すようにした
  • BASEPATH, APPPATHとVIEWPATHは絶対パスとして定義される
  • メールのvalidation(整合性検査)をPCREではなくfilter_var()を使うように更新された
  • developmentモードの沖のすべてのエラーはレポートされ、testing,productionの時は致命的(fatal)エラーのみレポートされる。
  • ip_addressデータベースフィールドを16から45にし、IPV6をサポートできるようにした。(libraries/trackback, helpers/captcha_helpers)
  • 文書からチートシートとクイックリファレンスを削除
  • eval()やexec()などの危険な関数の使用をチェックする
  • ログファイルの拡張子を$config[‘log_file_extension’]で定義できるようにした
  • 入力の表示化機能のオン・オフを$config[‘standardize_newLines’]でできるようにした。省略値はFALSE
  • Composerによるオートロードを可能にするかどうかを$config[‘composer_autoload’}で設定できるようにした
  • libraries/uriから特殊文字をHTMLに自動変更する機能を除いた
  • クラスやファイルが出すろうメッセージを”debug”レベルから”info”レベルに変更。$config[‘log_threshold’]を2(debug)にしてもログにでなくなる

変更のあるヘルパー

  • date_helper
  • url_helper
  • html_helper
  • inflectore_helper
  • download_helper
  • form_helper
  • security_helper
  • smiley_helper
  • file_helper
  • string_helper
  • captcha_helper
  • text_helper
  • directory_helper
  • array_helper
  • language_helper
  • email_helper

ライブラリー

  • encrypt
  • sessions
  • file_uploading
  • calendar
  • cart
  • image_lib
  • form_validation
  • caching
  • email
  • pagination
  • profiling
  • migration
  • xmlrpc
  • user_agent
  • table
  • zip
  • trackback

 

追記:

sessionを使うには、autoload driversにエントリーを書きます。

ちなみにデザインが苦手なエンジニアの救世主、Bootstrap様はapplicationと同じレベルに入れればいいようだ。

Viewファイル内ではこんな感じで指定

しかし、CSSなどをフォルダーに入れるとApacheのrewriteの設定の影響を受けます。htaccessを書き換える必要があります。

 

BootStrapはTwitterが作ったユーザーインターフェースをラクに作るフレームワークです。

ただし、これとCodeigniterのフォームヘルパーを同時に使うとコードがぐちゃぐちゃになるので頑張りましょう。

*Ver3の最初の日本語ライブラリーは私が書きました。一晩徹夜して作ったんですが、不完全で皆さんにご迷惑をおかけしましたorz
でも、どんどんforkして直してくれて、日本語もサポートされているCode Igniterをみんなで盛り上げましょう。
Code Igniter V3になり、日本ローカルの派生のFuelはどうなるんでしょう。Xoopsと同様、お仲間内だけで盛り上がって消えていくのかな。

What do you think?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です