fuelphp

【angularjs】$http.postでのjson送信でoptions method not allowedを解決した時のメモ

やりたかったことは、localhostのサーバーで動いてるクライアントHTMLからサーバー上のAPIにPOSTでJSONを送るということでした。 なんかうまくいかなくて色々やってみたけど、結論からいうとangular側は以下のコードでいけました。クライアント側 $http.post…

【fuelphp】Redisでロック・排他制御する方法メモ

APIの実装でクライアントからの2重送信対策にRedisを使ってみた。 MySQLでやろうとも思ったのだが負荷のことを考えるとRedisの方がいいのかなという判断。 $token = クライアントから送られるトークン $redis = Redis::forge(); if (1 === $redis->setnx($to…

【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定…