ラベル fuelphp の投稿を表示しています。 すべての投稿を表示
ラベル fuelphp の投稿を表示しています。 すべての投稿を表示

2017年4月24日月曜日

ローカルでfuelphpを開発するためにdocker使いましょう的なお話

  • このエントリーをはてなブックマークに追加

最近開発をするときに、ローカルでdockerを使うっていう感じであったり。
で、その中でfuelphp案件もそろそろローカルでやったほうがいいんじゃないかと思った。

ということで今日はローカルで開発するためのdocker-compose的ななお話をば。

2016年8月11日木曜日

【※どちらかというと非推奨】fuelphpでDB::selectしたときの結果で数値型が文字列型になってしまうのを直してみた的なお話

  • このエントリーをはてなブックマークに追加

fuelphpに限らずPDOを使っていると直面する問題ではあるらしいけれど、
とりあえず結果として出てきたものが全てstringになっているっていう深刻な問題がある。
ちなみにintがstringになるだけはなく、boolすらstringになるっていう。
特にこれがやっかいになるのがrestを使ってjsonとして出した際に、hoge?"foo":"bar"みたいにjs側で処理をしたいのにできないっていう。
hoge === "1"?"foo":"bar"なんていう変な書き方をしないといけないっていう。

ってなわけで今回はこれの直し方をば。

2016年6月10日金曜日

FuelPHPでLambdaのAPI Gatewayに対してpostを送信する際に、paramでエラーが出てくる的なお話

  • このエントリーをはてなブックマークに追加

とりあえずなんていうかLambdaを使用してAPIを作っちゃおうっていうことをしてみたんだけど、
「Could not parse request body into json: Unrecognized token うんちゃら」っていうエラーが出てきてうまくpostができない状況となってしまった。

原因を調べたらLambda側でそういう趣旨のレスポンスをしているということだった。
とりあえず対策としてはそもそもpostする際のパラメータを普段とは違う形で投げる必要があった的な。
ってことで今日はそのお話をば。

2015年11月1日日曜日

インラインルーティングを使って、fuelphpの動的ルーティングを簡単に設定する方法的なお話

  • このエントリーをはてなブックマークに追加

なんのこっちゃって話だけど、fuelphpのルーティング設定の仕方。
http://hogehoge.com/1みたいな形でとあるテーブルのid=1のデータを表示したいということがある。
その場合はconfig/routes.phpに'(:num)' => 'detail/index/$1'みたいな感じで設定してあげればいい。
この場合は1だからわかりやすいんだけど、http://hogehoge.com/(任意のページ)みたいな形のときは、
'(:any)' => 'detail/index/$1'と書くと、他のページとバッティングするとかそういう問題が出てきてしまう。

で、そのバッティングを封じるには全ページのルーティング内容を表示しないといけないけどそれって面倒。
特にページが増えてしまったときとかはいちいちroutes.phpに設定を書かないといけないのでもう最悪。

ってことで今回はそれでいちいち全ページにルーティングを書かないで済む方法的なお話をば。

2015年10月30日金曜日

fuelphpでPresenterから、ベースとなるテンプレートの変数を代入する的なお話

  • このエントリーをはてなブックマークに追加

fuelphpでheaderやfooterが記載されたbase-template.phpをテンプレートとしたbase.phpというController_Templateを用意し、
それを継承したcontrollerで$this->template->contents = Presenter("index")みたいな感じでやって、
なんか面倒な処理をPresenter内でやるみたいな事はすごく便利ではあったりする。

けどこれってbase-template.phpのheader部分やfooter部分の変数を代入する事が出来ないっていう問題が発生する。
その場合base.phpのafterなりでごにょごにょするっていう方法もあるけど、動的なサイトの場合titleとかがんがん変わるわけで。
その度modelからControllerなりPresenterなりで処理したものをもう一度やるってなると無駄なわけで。

ってことで今回はそれを解決するための荒技を見つけたのでそのお話をば。

2015年10月26日月曜日

fuelphpでエラーをslackに送ってくれるpetsというパッケージを作ってみた的なお話

  • このエントリーをはてなブックマークに追加

fuelphpでサーバサイドを開発している際に、もちろんエラーを確認するわけだけど、
DEVELOPMENT環境であるならばどういったエラーが出てるとかそういう事は見れるわけだけど、
PRODUCTION環境ではoopsだったりviews/errors/production.phpに設定しているファイルが出るから見れないわけで。
で、そういった場合はfuel/app/logs/を見ればわかるんだけど、中々に面倒だし、
そもそもスケーリングしてる環境だとどのサーバで起きた問題なんだとかそういうこともあるわけで。
というかそもそも本番環境でエラーが出すなよっていう話ではあるんだけれども、まぁ見たいよねと。

ってことでそれをslackに送ってしまえばそもそもいつでも確認できるしリアルタイムに見れるわけだし。
ってことでそのためのパッケージを作ったので今日はその紹介をば。
ちなみにpush error to slackってことでpetsっていう名前。

2015年10月25日日曜日

fuelphpのImageクラスでThe library does not support this filetype for /tmp/*って出てしまう問題を解決する的なお話

  • このエントリーをはてなブックマークに追加

ファイルをアップロードして、そこからcropするなりresizeするなりしておきたい場合がある。
fuelphpにはUploadクラスやImageクラスで簡単にそこら辺が使えて便利だったりはするけど、
なんかいちいちアップロードして一時的なフォルダにおいて、
そのファイルをごにょごにょして格納したいフォルダにおいて、
一時的なフォルダに逃がしておいたファイルを消すという作業は面倒なわけで。

ってことで今回はその面倒な過程を省略するんだけど、
その途中でエラーが出てしまう問題を解決する的なお話をば。

2015年9月17日木曜日

fuelphpで日本語メールを送る際に文字化けしてしまう問題を、文字数云々問わず解決する的なお話

  • このエントリーをはてなブックマークに追加

随分前にfuelphpでメールを送る際に文字化けしてしまうみたいな記事を書いたけど、結局のところタイトルの文字数を短くすればっていうよくわからない解決方法になった。
けど、そんなんじゃちょっと微妙だよねと思うわけで。

で、今回はそれをちゃんと解決しましょう的な方法を見つけたのでそのお話をば。

2015年9月12日土曜日

iOSから送られてくるバイナリ画像(base64エンコードされた画像)をfuelphpでS3にアップロードする的なお話

  • このエントリーをはてなブックマークに追加

なんかアプリとかそういうのを作っていると、画像をサーバに送信したいとかそういうときがある。
そういうときは画像をサーバ上というかS3上に保存する必要があるんだけど、
これってwebサイトのinput type="file"とは違ってファイルがそのまんま送られるわけではないのそう単純なことではなかったりする。
バイナリというかバイナリ文字列がポストされてくるみたいな。

で、そのバイナリを保存してさらに拡張子を付ける必要があるんだけど、簡単にやろうというのが今回のお話。
一応fuelphpでって書いてあるけどfuelphpを使ってる部分は少ないので、
PHPでちゃんとプログラムを書ける人であればしっかりと理解出来るんじゃないか的なお話をば。

2015年7月1日水曜日

S3のあるバケットにファイルがアップされたら違うバケットにコピーするのを、SQS+fuelPHPのtasksを使ってやってみる的なお話

  • このエントリーをはてなブックマークに追加

S3のあるバケットにファイルがアップされたら違うバケットにコピーしたいってことをしたいときに、
通常だったらcronで定期的にS3のあるバケット内を監視するなりなんなりが考えられるけど、
それってまぁあまりエコじゃなかったりとかそもそもそこまでする必要はないんじゃないかとか、
というかそもそもとあるバケットからとあるバケットにコピーする場面ってぶっちゃけあまりないよねとは思うけど。

けどまぁそこらへんをうまく解決するにはS3のイベント通知をSQSに向けてあげることで解決出来るかと。
ということで今日はその辺のお話をば。

2015年4月6日月曜日

facebookのプロフィール写真など、外部URLの画像をS3にアップする際に注意すること的なお話

  • このエントリーをはてなブックマークに追加

Webサービスを作る際に、facebookのプロフィール写真をユーザーの顔写真にしたいことってあると思う。
もちろんその際に単純にfacebookの写真のURLをデータベースに格納すれば良いとは思うけど、
facebook連携が任意の場合だと結局のところ画像サーバー上に画像を保存しないといけない。

なので今回はfacebookの画像をS3上に保存する方法的なお話をば。

2015年4月5日日曜日

fuelphpでS3に簡単にファイルをアップする仕組みを作る的なお話

  • このエントリーをはてなブックマークに追加

fuelphpでS3との連携をしたいという場合は、AWS SDKを使えば簡単に出来たりはするけども、
そもそも使うのはS3だけだしな…とかっていう人にとってはSDKの導入は中々に面倒だったりする。
そこで今回はこのパッケージを入れれば簡単に出来るよっていうのがあるのでその紹介をば。

2015年4月4日土曜日

fuelphpのDB::exprとMySQLのCONCATで、SELECTのデータを加工して出す方法的なお話

  • このエントリーをはてなブックマークに追加

今回はfuelphpというよりもMySQL中心のお話。
ちなみに自分はクエリビルダ派であったりするけど、
SELECTした際に加工してデータを出したいときがあるけどそういうときはどうするの?ってことがある。

ということで今日はそのお話をば。

2015年2月10日火曜日

fuelphp+Facebook SDK for PHP v4+App Roleでサイト管理画面を楽に作る方法的なお話

  • このエントリーをはてなブックマークに追加

新しくサービスを作るなりなんなりするときにやっぱり作る必要がある管理画面。
fuelphpのmigrationなりを使えばさくっと作れるんだけど、そこで権限の付与とかなるとconfigの設定なりで面倒だったり。
というかそんなのはもっと簡単にやりたいぞ!っていう人にオススメなのがFacebookのログイン機能を使う的な。

Facebookのアプリにはサンドボックスモードがあるので誰もがアプリを使う事が出来ないようにするとか、
Roleという形で役割を付与する事が出来たりする。
で、これを使えばサイトの管理画面でもその権限を継承したままアプリをインストールした人しか見れないので楽だったり。

ということで今日はアプリの権限を確認する方法だったり、管理画面の認証機能だったりの作り方のお話をば。

2015年2月5日木曜日

fuelphpで保存されるsessionで、Twitterbot/1.0やfacebookexternalhit/1.1といったbot系を保存させないようにする方法的なお話

  • このエントリーをはてなブックマークに追加

fuelphpでsessionの保存先をDBに変更する的なお話でDBにセッションを保存するといいよ的なお話を書いたけれども、
Twitter CardsやFacebook OGPなどのクローラーがアクセスした際に、そのセッション情報も保存してしまうということがある。
特にTwitterは中々の数クロールされるので、いらないデータがDB内に多くたまってしまう。

ということで今回はそのいらないセッションデータを溜まらないようにするにはという方法をば。

2015年2月4日水曜日

fuelphpでsessionの保存先をDBに変更する的なお話

  • このエントリーをはてなブックマークに追加

fuelphpでSession::set("hoge","hogehoge")みたいな形でセッションを保存出来る。
これは中々に便利でSession::set_flash("hoge","hogehoge")みたいな形でやると、
次のページでしかそのセッション値を取得出来ないといったことが出来る。

というのはまぁ置いといてこのSessionクラスだけど初期の保存先はCookieになってしまっている。
Cookieだとブラウザに保存されるからセキュアではないとかっていう形になってしまう。
ということで今日はSessionの保存先をDBにしてセキュアにしてみる的なみたいな。

2014年9月13日土曜日

fuelphpでAWSのSESを使ったメール送信システムを作りたい的なお話

  • このエントリーをはてなブックマークに追加

fuelphpを使ってサイトを構築するってなると、ある程度の規模のwebサイトやアプリだったりするわけで。
大体会員登録だとかなんだとかでメールを送る必要があったりする。
サーバーをレンタルサーバーとかでやっていれば何も関係ないんだけど、
AWSでサーバーを構築する場合はサーバーリソースを考えると、webサーバー・DBサーバー・メールサーバーと分けたいわけで。
postfixを入れたサーバーを立ててもいいけど、それだと値段的なものとか考えても無駄だし、
SESを使うことによって節約になったりそもそもメールサーバーを立てないでいいというなんという便利な感じ。

ということで今日はSESをfuelphpで使うには的な話をば。

2014年9月8日月曜日

THE FASHIONHACK IN TOKYOに、エンジニアとして参加してきて賞が取れた的なお話

  • このエントリーをはてなブックマークに追加

六本木のGoogle Japanオフィスで行われた「THE FASHIONHACK IN TOKYO」に参加してきた。
FASHIONHACKは海外で2013年から行われていて、日本初上陸みたいな感じ。
ファッションに関するハッカソンが日本で初めてってことで中々注目されていたり。
主催はハースト婦人画報社とiQONを運営しているVASILY。
自分の中で今回は二回目のハッカソンということで、
初めてのハッカソンにあたる「Music Hack Day Tokyo 2014」とはこれまた違った感じで中々面白かった。

ちなみに自分たちのチームが作った「bonjour」はこちらから。

ということで今日はそのお話をば。

2014年7月15日火曜日

fuelphpでFacebook SDK for PHP v4を使って、ログイン処理と情報取得を実装してみた的なお話

  • このエントリーをはてなブックマークに追加

コロコロ仕様が変わって大変面倒なFacebook API。
今までは内部的なところだったりなどして、APIを使うエンジニア側としてはそんなでもなかったけど、
ここにきて遂にFacebookが本気出したのかGraph APIをv2.0にアップデートさせてきた。

これによって何か変わるかというと、/meでやっていたものをv2.0/meにしないといけないみたいな。
もちろんこれだけではないんだけど細々と取り方とかが色々と変わり、
さらにSDKのメジャーアップデートがなされてPHPはv4になったという。

で、PHP SDK v4を使ってログインとか自分のデータを取り出すとかやってみたので、今日はその話をば。
ちなみにちょっと長いので要注意的な。

2014年6月28日土曜日

ViewModel内でPaginationが2回実行されてしまう問題的なお話(ViewModelが2回呼び出される問題)

  • このエントリーをはてなブックマークに追加

なぜかPaginationを二回呼び出してることになってるっぽい fuelphp1.7を使ってwebアプリやサービスを作ってる際に、
Controllerが汚れるのが面倒だし、可読性やらなんやらとかを考えた際に、
Modelを使うのは当然だけどModelよりもViewModelを使ってあげると色々とはかどる。

ViewModelはViewに対して諸々処理をしてあげるって感じで、
ControllerがModelからデータを引っ張って来て、そのデータをViewModelで処理してViewに表示するといった流れ。
ということでかなりいい感じで分離させることが出来るのでよかったりする。

ってことで今日はViewModelのサンプル的なものと、ViewModelを1.7で使うとバグがあるのでその対処法的なお話をば。

Adsense