CodeIgniter 3入門(インストールから設定まで)

CodeIgniterのことを勉強したのでメモ。日本語サイトにCodeIgniter Ver.2のユーザガイドがあったのですがCodeIgniter Ver.3のユーザガイドの日本語版が無く、辞書とにらめっこしながら進めました。

間違い等あればご指摘くださいませ。

これからCodeIgniterを学ぶ方のお役に立てれば幸いです。

2016年2月23日追記
kenjis様より日本語ユーザガイドのURLをコメント頂きました。
現在翻訳中とのことです。ありがとうございます。

日本語ユーザガイド
http://codeigniter-jp.github.io/user_guide_src_ja/

2017/01/26 URLが変更されていました。以下が日本語ユーザガイドになります。

http://codeigniter.jp/user_guide/3/

CodeIgniterとは

PHP言語のフレームワークです。

フレームワークとはよく使う処理のお道具箱みたいなもので、フレームワークを使うことによりプログラムの開発効率を上げることができます。

CodeIgniterの読み方

ウィキペディアによると、「コードイグナイター」と読むそうです。なるほど。

CodeIgniter 3の動作要件

CodeIgniter 3を動作させるにはPHP version 5.4 以上が必要です。

以下のデータベース(バージョン)に対応しています。

  • MySQL (5.1+) via the mysql (deprecated), mysqli and pdo drivers
  • Oracle via the oci8 and pdo drivers
  • PostgreSQL via the postgre and pdo drivers
  • MS SQL via the mssql, sqlsrv (version 2005 and above only) and pdo drivers
  • SQLite via the sqlite (version 2), sqlite3 (version 3) and pdo drivers
  • CUBRID via the cubrid and pdo drivers
  • Interbase/Firebird via the ibase and pdo drivers
  • ODBC via the odbc and pdo drivers (you should know that ODBC is actually an abstraction layer)

参照
http://www.codeigniter.com/user_guide/general/requirements.html

CodeIgniter 3のライセンス

MITライセンスです。

The MIT License (MIT)

参照
http://www.codeigniter.com/user_guide/license.html

ちなみに、CodeIgniter 3.0からMITライセンスになったようで、2.xまでは独自のCodeIgniterライセンスというライセンスを採用していたようです。

 

CodeIgniter 3のインストール

CodeIgniterのダウンロード

CodeIgniterの公式サイトからダウンロードしましょう!執筆時、Version 3.0.4が最新バージョンでした。

https://codeigniter.com/

キャプチャ.JPG
公式サイトトップページのDownloadからCodeIgniter Version 3をダウンロード

アーカイブを展開

ダウンロードしたアーカイブを展開します。

ファイルをアップロード

「展開したファイルをサーバ上にアップロードします。」とサラッとCodeIgniterの公式に書いてあるのですが、以下の画面キャプチャで選択してあるファイルだけで問題ないかと思います。

キャプチャ.JPG
application sysytem index.php license.txt のみのアップロードで大丈夫っぽい

CodeIgniter 3の設定

基本設定ファイル(config.php)を編集する

application/config/config.php

を開き”base_url”の設定をします。

$config[‘base_url’] = ‘http://example.com/’;

基本設定ファイル(config.php)を忘れずにサーバにアップロードしましょう!

とりあえず表示確認してみよう

ブラウザで、サイトを表示してみましょう!以下のように表示されていれば設置成功です。

無題.png

データベース設定ファイル(database.php)を編集する

設置が確認できたら更に設定を行っていきます。データベース使わない場合などはこの項目の作業は不要かと思います。

application/config/database.php

を開き以下を変更します。

全ての設定が必要というわけではなく、必要な部分だけ設定します。

設定する主な項目

hostname: データベースサーバのホスト名
username: データベースのユーザ名
password: データベースのパスワード
database: データベース名
dbdriver:データベースのタイプ(mysqli(MySQLの場合), postgre(PostgreSQLの場合))

参考
http://www.codeigniter.com/user_guide/database/configuration.html

.htaccess を設定する

CodeIgniterの初期設定では、以下のように index.php が含まれたURL構造になってしまいます。

これを回避するために.htaccessファイルを作成して以下のように記述します。

作成した.htaccessファイルは忘れずにサーバにアップロードしましょう。license.txtと同じ位置に置くと良いでしょう!

参考
http://www.codeigniter.com/user_guide/general/urls.html#removing-the-index-php-file

感想

いろんなフレームワークがありますが、かなり簡単に設置出来るのがGood!

(2.x系は豊富だけど)日本語のドキュメントが少ないのでGoogle翻訳を駆使して理解していく必要がありそうです。



Google Analytics Core Reporting API ディメンション・メトリクスの覚書[徐々に更新中]

キャプチャ.JPG

Google Analytics Core Reporting API で指定するディメンション(dimensions)やメトリクス(metrics)の覚書です。

似たようなのが多くて混乱したので、使ったところだけ注釈を入れています。

順次更新しています。


 User

Dimensions

ga:userType

ga:sessionCount

ga:daysSinceLastSession

ga:userDefinedValue

Metrics

ga:users

ga:newUsers

ga:percentNewSessions

ga:1dayUsers

ga:7dayUsers

ga:14dayUsers

ga:30dayUsers

ga:sessionsPerUser


Session

Dimensions

ga:sessionDurationBucket

Metrics

ga:sessions (セッション数)

ga:bounces (直帰数)

ga:bounceRate (直帰率)

ga:sessionDuration

ga:avgSessionDuration

ga:hits


Traffic Sources

Dimensions

ga:referralPath(参照元サイトのパス)

/foo/bar.html
のように取得できますが、これだけだと何なのかちんぷんかんぷんですね。

ga:fullReferrer(参照元サイトのURL)

example.jp/foo/bar.html
のように取得できます。
yahoo,google,bing 等も取得してきてしまうことや、リファラスパムも取得してしまうので、以下のフィルタを掛けると純粋な形で取得できるかと思います。良い方法があれば教えて下さいm(_ _)m

filters:ga:fullReferrer!=(direct);ga:fullReferrer!=google;ga:fullReferrer!=yahoo;ga:fullReferrer!=bing;ga:fullReferrer!=goo.ne;ga:fullReferrer!=biglobe;ga:fullReferrer!=ask;ga:fullReferrer!=biglobe;ga:fullReferrer!=traffic2cash.xyz/;ga:fullReferrer!=share-buttons.xyz/;ga:fullReferrer!=traffic-cash.xyz/;ga:fullReferrer!=free-social-buttons.xyz/;ga:fullReferrer!=net-profits.xyz/;ga:fullReferrer!=web-revenue.xyz/;ga:fullReferrer!=free-traffic.xyz/;ga:fullReferrer!=с.новым.годом.рф/;ga:fullReferrer!=jp.hao123.com/yahoo-search-demo-sample;ga:fullReferrer!=social-widget.xyz/

ga:campaign

ga:source(参照元サイトのホスト名)

example.jp
のように取得できます。

ga:medium (参照元の媒体)

以下の様な情報を取得できます。

(none):ブックマーク等によるダイレクトアクセス
organic:検索エンジンからのアクセス
referral:外部サイトからのアクセス
cpc:CPC広告によるアクセス
【以下よくわからないパラメータです。ヘルプ!】
cpa、cpm、cpp、cpv、ppc

ga:sourceMedium(参照元サイトのホスト名と媒体)

以下の様な情報を取得できます。

google / organic
yahoo / organic
bing / organic
(direct) / (none)
example.com / referral

ga:keyword(検索キーワード)

「居酒屋 愛知」のような検索キーワードを取得できます。キーワードが設定されていない場合や提供されていない場合は【(not set)】や【(not provided)】を取得してしまうので以下のフィルタを掛けてあげると良いと思います。

filters:ga:keyword!=(not provided);ga:keyword!=(not set)

ga:adContent

ga:socialNetwork

ga:hasSocialSourceReferral

ga:campaignCode

Metrics

ga:organicSearches


Goal Conversions

Dimensions

ga:goalCompletionLocation

ga:goalPreviousStep1

ga:goalPreviousStep2

ga:goalPreviousStep3

Metrics

ga:goalXXStarts

ga:goalStartsAll

ga:goalXXCompletions

ga:goalCompletionsAll

ga:goalXXValue

ga:goalValueAll

ga:goalValuePerSession

ga:goalXXConversionRate

ga:goalConversionRateAll

ga:goalXXAbandons

ga:goalAbandonsAll

ga:goalXXAbandonRate

ga:goalAbandonRateAll


Platform or Device

Dimensions

ga:browser (ブラウザ)

ga:browserVersion (ブラウザバージョン)

ga:operatingSystem (OS[オペレーティング・システム])

ga:operatingSystemVersion (OSのバージョン)

ga:mobileDeviceBranding

ga:mobileDeviceModel

ga:mobileInputSelector

ga:mobileDeviceInfo

ga:mobileDeviceMarketingName

ga:deviceCategory

ga:browserSize

ga:dataSource

Metrics

None(メトリクス無し)


Page Tracking

Dimensions

ga:hostname

ga:pagePath(サイトコンテンツへのパス)

以下の様な情報が取得できます。GETパラメータもついてきますのでリファラスパムをフィルタで除外してあげる必要が有りそうです。

/index.html
/path/to/contents.html
/index.html?from=http://spam.example.com/

ga:pagePathLevel1(サイトコンテンツへのパス(第1階層のみ))

以下のようなサイトの第1階層にあるコンテンツへのパスが取得できます。ga:pagePathと同様にGETパラメータもついてきます。

/index.html
/aboutus/
/index.html?from=http://spam.example.com/
/company/

ga:pagePathLevel2(サイトコンテンツへのパス(第2階層のみ))

以下のようなサイトの第2階層にあるコンテンツ(http://example.com/●●/ココ.html)へのパスが取得できます。

/index.html
/hoge.html

ga:pagePathLevel3(サイトコンテンツへのパス(第3階層のみ))

ga:pagePathLevel2と同様に第3階層が取得できます。

ga:pagePathLevel4(サイトコンテンツへのパス(第4階層のみ))

ga:pagePathLevel2と同様に第4階層が取得できます。

ga:pageTitle (ページタイトル)

ページタイトルが取得できます。

ga:landingPagePath (ランディングページのパス)

/hogehoge/hogehoge.html のように取得できます。

サイトのトップページをランディングページから除外する処理は以下のように書きました。

filters:ga:landingPagePath==/,ga:landingPagePath==/index.html,ga:landingPagePath==/index.php

ga:secondPagePath

ga:exitPagePath

ga:previousPagePath

ga:pageDepth

Metrics

ga:pageValue

ga:entrances

ga:entranceRate

ga:pageviews

ga:pageviewsPerSession

ga:uniquePageviews

ga:timeOnPage

ga:avgTimeOnPage

ga:exits (離脱数)

ga:exitRate (離脱率)


Time

Dimensions

ga:date (日付)

ga:year (年)

ga:month (月)

ga:week (週)

ga:day (日)

ga:hour (時)

ga:minute (分)

ga:nthMonth

ga:nthWeek

ga:nthDay

ga:nthMinute

ga:dayOfWeek

ga:dayOfWeekName

ga:dateHour

ga:yearMonth

ga:yearWeek

ga:isoWeek

ga:isoYear

ga:isoYearIsoWeek

ga:nthHour

Metrics

None(メトリクス無し)


 

参照
https://developers.google.com/analytics/devguides/reporting/core/dimsmets