読者です 読者をやめる 読者になる 読者になる

【fuelphp】ORMでの基本的なリレーションの使い方メモ

はじめに 今さらだけどfuelphpのorm少し使ってみた。 ormずっとあまり使ってこなかったのだけど、最近少しいいかもって思い始めてきた。ただ、どこまで使うかって決めの部分は大事かも。 自分の場合はあくまで単純でありきたりクエリを実行したい場合はいい…

【fuelphp】controller名にアンダーバー(アンダースコア)を使う方法メモ

はじめに 今回やりたかったのは以下のようなurlを使いたかった http://example.com/member_groupで、fuelphpのコントローラの命名規則でアンダーバー(_)はフォルダ区切り文字なのでそのまま使えない。 routes.phpに以下のように書けばurlは実現できるけどフ…

【fuelphp】phpunitでのテスト自動化入門〜使い方メモ

はじめに ずっとやろうやろうと思ってて放置していたテストです 残念なことに自分が携わってきた案件ではこれが使われていた案件はありませんでした。・自分は心配性な方なので割とデバッグは入念にやるためか ・たまたま案件に恵まれていただけなのか はわ…

【adminLTE】fuelphpで管理画面を作るときのひな形メモ

はじめに 【adminLTE】管理画面として使うときのテンプレートひな形としてまとめておく - とりあえずphpとか 僕はfuelphpを使っているので、こちらの内容をfuelphpで使う場合のひな形 ファイル構成 header.php・・・全画面共通で使うヘッダー部分 footer.php…

【fuelphp】ログファイルを圧縮

fuelphpに限った話じゃないけどメモ find /pathto/fuelphp/app/logs -type f -mtime +10 -name "[0-3][0-9].php" ! -name "*.gz" -print -exec gzip {} \; 10日経過したら圧縮 cronで1日1回実行する自分は無駄にログ出力することが多いのでこれやってます以…

【apache】.htaccessはhttpd.confと比較して速度が遅いのか

大した話ではないのですが、昔.htaccessを使っていたら速度が遅いから使わないでと言われました。 apacheが毎回.htaccessを探して内容を解析して実行・・・のような流れになるので漠然と遅いのだろうなとは思っていましたfuelphpを使っているサービスでfuelp…

【fuelphp】httpd.confで設定する .htaccessは使わない

はじめに デフォルトだとrewrite周りの処理が.htaccessに記述されているので、今回はhttpd.confに記述してみた。 .htaccessの記述をhttpd.confに移動させただけなんですけどね・・・ 実装 httpd.conf <VirtualHost *:80> ServerName example.com DocumentRoot "/var/www/html/e</virtualhost>…

【fuelphp】MySQLのIN句の使い方メモ

使いたいときはいつも忘れてるので自分用にメモやりたいSQL select * from users where id in (1, 2, 3);fuelphp $user_ids = array(1, 2, 3); $query = "select * from users where id in :user_ids; $params = array("user_ids" => $user_ids); DB::query(…

【fuelphp】APIバージョンを意識したAPI設計について考えてみた

はじめに アプリリリース後にバグが見つかり、アプリ(ios,androidoともに)とAPIを改修する必要がある場合がありました。 対応としては 1. アプリを強制アップデートさせる(最新バージョンでないとアプリを使えないようにする) 2. 過去のアプリのバージョンと…

【fuelphp】Paginationをカスタマイズして使う手順

はじめに 仕事でちゃんとWebページ作ると避けて通れないのがページングかと思います。 で、過去にはやったことあるとは思うのですがやっぱり少し時間かかりました。 次回、同じことがないようにメモしておきます configの設定 まず、 fuel/config/pagination…

【fuelphp】共通処理をPackage化して複数サイトで使う方法

はじめに 1つのfuelphpで複数サイト(一般ユーザが見るサイトと管理者が見るサイト等)を共存させるというのは僕はよくやります。 で、以前に以下の記事で共通処理をシンボリックリンク化してしまう方法を紹介しました。 fuelphpで複数サイトを構築する方法 …

【fuelphp】MySQL接続エラー[HY000/2002]と[Call to undefined function Fuel\\Core\\mysqli_init]

はじめに 今更感のある内容ですがけっこうハマったのでメモしておきます。 環境としてはAwsのEC2をWebサーバーにRdsをDBサーバーとする構成で Webサーバーにはmysql-serverをインストールしていない状況です。mysql-clientはWebサーバーにインストール済みで…

【aws・fuelphp】EC2からS3へファイルアップロード・削除を「AWS SDK for PHP version3」で行ったのでメモ

はじめに fuelphpからs3(aws)を利用する方法メモ - とりあえずphpとか 以前こちらにs3へのアップロードは書いたのですが、SDKのバージョンが3に変わっていて、少し変わっていたのでメモ 基本的には同じ。 SDKのダウンロード コチラのページから下の方に「dow…

【fuelphp】セッション保存先をredisにする方法メモ

はじめに 検索したらいっぱい出てきました。いちおう自分用にもメモ 手順 config/session.phpの準備 「fuel/core/config/session.php」を「fuel/app/config/session.php」にコピーfuel/app/config/session.phpを編集 // 32行目くらいにのdriverをcookieからr…

【fuelphp】ログを分割(複数ファイルに出しわけ)する方法

はじめに 今回やりたかったのは、デフォルトでは1ファイルにまとめられているログファイルを複数ファイルに分割したいということでした。デフォルトの以下のところを fuel/app/logs/YYYY/MM/DD.php以下のように用途別に出し分けたけたかったです fuel/app/lo…

【fuelphp】validationの使い方ひな形

久々に使おうとして忘れていたので自分用にメモ Controller class ValidateException extends Exception {} class Controller_Sample extends Controller { public function action_confirm() { try { // validation定義 $val = Validation::forge(); $val->…

【Mithril.js】fuelphpとmithril.jsで簡単なSPAアプリを作ってみた

はじめに fuelphpとmithril.jsで入門がてらにSPAを作ってみたのでそのときのメモ。 mithril.jsのチュートリアルのtodoアプリみたいなものですが、実際に自分で手を動かしてみないとわからないことが多いので簡単なメモアプリを作ったのでそのときのメモ1)…

【fuelphp】RestApiをつくったときのまとめ

はじめに フロントエンドのアプリ開発がメインの案件ではあったのですが、結局サーバ側もけっこういじりました。自分がメインの案件ではなかったのですが そこそこの期間をかけてAPIを実装して今までにない経験もしたのでそろそろメモしておきます。自分流と…

【fuelphp】ローカル開発環境を作ってfuelphpセットアップ手順

久々にやったら過去のメモが見つけずらかったのでメモのまとめ vagrant導入して、LAMP環境構築してfuelphpを使えるようにするまで 1. vagrantでlinux環境構築 vagrantでローカルpcに開発環境を作る手順 2. LAMP環境構築 webサーバ設定作業メモ - 私用 webサ…

【fuelphp】クエリビルダでinsert select構文を実行する方法メモ

はじめに sqlを直接かいちゃえば、以下のような感じで簡単にかけるんですけど今回はこれをfuelphpのクエリビルダで実現してみたのでメモしておきます insert into table1 (colum1, colum2, ・・・) select colum1, colum2, ・・・ from table2 where ・・・o…

【fuelphp】クエリビルダでSQL_CALC_FOUND_ROWSを実現する方法メモ

はじめに クエリビルダを無理やり使ってみて、少し慣れてきたらすごい複雑なSQLを書かない限りそこまで困らないかなと思ってきました。ただcoreの中を覗いてみた感じだとページングなどでよく使われるSQL_CALC_FOUND_ROWSを実現する方法がなさそうで、強引に…

fuelphpでのsqlのログ出力する方法

はじめに fuelphpで必ずやってる設定などまとめ - とりあえずphpとか 僕がメインでやれる案件では上記の形で開発をしています。こちらにも書きましたが、基本的にsqlをゴリゴリ書くのが好きなのでクエリビルダなどは使わないで開発することが多いです。その…

fuelphpとsocket.ioでのチャットシステムの作り方まとめ

はじめに 何度かまとめようと思ってたんですけど、なかなかちゃんとまとめられなかったので今回再度まとめてみようと思います。socket.io単体での実装方法はよく見かけるのですが、LAMP環境で構築されたシステムと一緒に構築されるサンプルがあまり見かけら…

fuelphpからs3(aws)を利用する方法メモ

はじめに やりたかったことは、ec2上で構築したwebサーバーからプログラムでs3へ保存、削除したかったことです。AWSのS3を使う手順 - とりあえずphpとか こちらでs3を使う手順をまとめましたが、その際にs3fsを使ってec2にs3をマウントしたのですが実際にプ…

cordova + phpでセッションを維持する方法

はじめに 本当は今、これについての具体的な実装例を書きたかったというか試してみたかったのですが無理そうなので、具体的な実装・実験は明日以降に行うとして理屈だけメモします。まずcordovaアプリでセッション処理を行う場合、以下の様な環境になると思…

fuelphpで複数DBに対応する方法 - 大規模サービスも想定して

やりたいこと ある程度の規模のサービスや構成上db自体を分けた方が効率よく開発、運用できることがあるかと思います。 その際にfuelphpではどのように開発するか考えてみる想定している構成 ・マスタdbA ・スレーブdbA ・マスタdbB ・スレーブdbB db設定 今…

fuelphpでセッションidをurlパラメータで引き回す方法

やりたいこと タイトルのとおりですが、http://example.com/?session_id=*** のようにurlでセッションidを引き回してセッションを使用したかった。 ガラケー(フューチャーフォン)時代はcookieが使えない端末が多かったのでこのようなやり方はよくやってまし…

fuelphpでmysqlのレプリケーションに対応する方法

やりたいこと 少しアクセスの多いサイトなどではありがちなmysqlのレプリケーションを使うことがあると思います。 fuelphpでそれに対応するときの作業をメモしておきます。 いちおう今回想定する環境はマスタdb1台、スレーブdb2台構成のものとします。 db定…

fuelphpで開発したサービスをリリースする手順

はじめに 一般的に開発環境、ステージング環境、本番環境などを用意してプロジェクトを進めるやり方はけっこうあると思います。 僕もだいたいこの構成で作業を進めています。とくに支障を感じた事もないのでまぁ問題ないやり方なのではないのでしょうか。 今…

fuelphpでエラー処理を実装する方法

はじめに 意外とおろそかになってしまうこともあるのですが、サービスの規模によってはちゃんとしておかないと後々問題になるのでできる範囲で僕がやっていることをまとめておきます。とりあえず最低限やっておきたいこと ・sqlのエラーなど致命的なエラーが…

fuelphpでNGワードのvalidationを実装したのでメモ

やりたかったこと タイトルのとおりですが、投稿系のサイトだとNGワードのチェックをいれてほしいという要望が意外と多いので次実装するときのためにメモしておく。 NGワードの保存先はデータベースでもファイルでもどちらでもいいと思うが今回は予め配列な…

fuelphpで必ずやってる設定などまとめ

完全に自分仕様になっているが毎回同じ設定を過去のプロジェクトのをみながら都度やっていて時間も無駄なのでまとめておく fulephpで準備されている機能の準備 日本語を使う準備 fuel/app/config/config.phpを編集 //81行目くらい 'language' => 'ja', // De…

fuelphpで複数サイトを構築する方法

やりたいこと タイトルでは複数サイトと書きましたが。 実際にやりたかったのはサービス本体と運営などが利用する管理サイトとでドメインやサーバが異なる場合があります。 こういう場合にそれぞれにコアとなるfuelphp本体を持たせるのではなくて共通で使え…

mysqlでiPhone絵文字対応したときのメモ

はじめに phpからmysqlへiphoneの絵文字を含む文字列を登録しようとすると絵文字以降の文字列が登録されない。という現象が起きました。 はじめは、iphone絵文字がmysqlのutf8におさまりきらない文字コードを使ってるとのことだったので登録前に以下のような…

phpでsocket.ioを使うときのインストール方法をメモ

はじめに しょっちゅうやるわけではないが、やる機会がそこそこ増えてきたので手順を自分用にメモしておく。ちなみに今fuelphpを使ってるのでそれに合わせて話を進めます socket.ioのインストール node.jsはインストールされていてnpmコマンドもすでに使える…

fuelphpのmodelでnot foundとなってしまった原因について

これはたぶん誰の参考にもならないと思いますが、解決するのに約半日かかってしまったので、こういうこともあったということを忘れないようにメモちょっと今までと違うバージョン使ってみたので使い方かわったのかなとか、、、 つづりのミスがどっかにあるの…

twitter apiでつぶやきを取得して解析して人気のコンテンツを集める方法

はじめに 久しぶりにtwitter apiを使ってみる。過去にちょっと使ったことがあるがすっかり忘れているのでついでにまとめることにした。 やりたいことは特定のキーワードでつぶやきを取得して文章を解析。で同じような文章がたくさんつぶやかれていたらそれは…

bowerでインストールしたライブラリをfuelphpで使う方法(メモ)

やりたかったこと project ├── public │ └─ assets │ ├─ js │ ├─ ・・・ ├── fuel └── nodejs # 自分で作ったフォルダ ├─ bower_components #bower installで取得したファイル │ ├─ angular │ ├─ angular-route ├─ ・・・今まではこんな感じのディレクトリ構…

phpで画像のリサイズ+トリミング(切り取り)を行ったのでメモ

はじめに サイト内で画像の一覧ページがあったのだが、画像によってページのデザインが崩れてしまうことがあった。 原因としては画像の幅と高さの比率が同じでないとずれてしまうことがあることが判明。 webデザイナーさんに相談するとcssで対応するのが難し…

さくらのレンタルサーバでのfuelphpセットアップ手順

はじめに さくらのレンタルサーバーでの話です。 新規の案件に入る前に必ずやる作業ですが近頃では面倒くさくなって直近の案件のフォルダごとコピーしていらない部分を削除していくっていうやり方やってました。けどそれ続けていくと ・fuelphpのバージョン…

angular.jsのNgResourceでfuelphpにpost通信する際にハマったこと

angular.js側 App.factory("ModelUser",function($resource) { return $resource( "http://example.com/api/user/register", null, { regist: { method: "post", } } ); }); ModelUser.register({ name: name, address: address }).$promise.then(function(r…

fuelphpでPC、スマホ、ガラケーサイトを構築する方法

必要な処理 ・ユーザエージェントから端末を判別する ・PC、スマートフォン(以下SP)、フューチャーフォン(以下FP)で使用するテンプレートファイルをきりかえる ・PC、SP、FPで必要であれば文字コードをきりかえる まずは全体的な構成 僕の場合は、fuel/app/c…

fuelphpでhtmlメール送信する方法

config.phpを編集 fuel/app/config/config.phpに、always_load['packages']という配列があるのでここにemailを追加。コメントアウトになっているので以下みたいな形になってれいればok 'always_load' => array( 'packages' => array( 'email', ), ); 使って…

fulephpとjquery.autopager.jsで「もっと見る」を実装したのでメモ

まずはjquery.autopager.jsをダウンロード こちらにありました PHP部分の実装 mvc的にはこういうのはviewに書くのがいいのかもしれませんが、僕は迷わずcontrollerに書いてます。 //全データ数を取得 $all_num = 何らかの処理//select count(*) from *** whe…

fulephpでエクセルファイルを読み込むサンプル

やる必要があったのでメモhttps://github.com/muhittin/fuelphp_excel まずこちらからライブラリをダウンロードfuel/packages/ にexcelというディレクトリをつくってアップロード。僕の場合のディレクトリ構成は以下fuel/packages/excel/PHPExcel.php fuel/p…

fuelphpでエクセルファイルを作るサンプル

http://kimagureneet.hatenablog.com/entry/2014/10/18/175755 こちらで読み込むサンプルを作ったのでついでに書き込むサンプルもライブラリの準備などは上記のページと同じです $data = array( 0 => array('id'=>'1','名前'=>'山田太郎','点数' => '90'), 1…

fulephpでfacebookの日本語表記のユーザ名を取得する方法

グーグルで「fulephp facebook ログイン」とかで検索すれば情報がいっぱい出てきます その通りにやれば基本的につまづくことなく実装できましたが、日本語の氏名とるのにつまづいたのでメモ 正しいやりかたかどうかはわからないけど、、、fuel/packages/opau…

fuelphpでのfacebookログイン実装の際にemailも取得する設定

グーグルで「fulephp facebook ログイン」とかで検索すれば情報がいっぱい出てきます その通りにやれば基本的につまづくことなく実装できました 1つ今回やりたかったことつまづいたこととしてemailの取得 /app/config/opauth.phpに以下を追記すると取得でき…