CakePHP

OpenApi bake theme pluginをswagger-phpのアトリビュート形式で吐き出すように修正しました

最近は、アプリの開発・実行基盤の構築でインフラエンジニアっぽいことばかりやっていて、プロダクションのコードを書いていなくてストレスが溜まりつつある渡辺です 今構築している環境では、PHPでAPIを書いていて、swagger-phpでAPIドキュメントを作成して…

CakePHPのschemaからtypescriptのinterfaceを吐きだすプラグインをかいた

小ネタです。 最近は相変わらずCakePHPでAPIを書いて、nextjsでフロントのアプリを書くサイトばかり作っているのですが、API側で定義したAPIレスポンスデータをフロント側用にinterfaceを書くのがだるいのでプラグインを書いた話です。 TsExport plugin for …

CakePHP4でRoutingのテスト

最近React+TypeScriptばかりで、CakePHPのコードはあまり書いていないわたなべです。 Routingのテスト CakePHP1の頃の新原さんのブログ(なんと2009-05-25の記事、11年前!?)でも書かれているように、routes.phpの設定変更は、思わぬバグを出す可能性があるの…

Azure DevOpsのself hosted agentを試してみた

暑いので快適な仕事部屋で、CodeCoverageと戦っているわたなべです... self hosted agent試すことになった理由 現在開発中の案件では、Azure DevOpsを利用して、CI/CD環境を構築しています。バックエンドはPHPで開発していて、UnitTestを結構しっかり書いて…

PHPでも簡単 Azure Application Insights

先月末に開催された、de:code 2019でMVP パーソナル スポンサーとしてPHP用のライブラリを公開しました。 Azure Application Insights docs.microsoft.com Application Insights は、上記のページにも書かれている通り、複数のプラットフォームで使用できる …

swaggerでAPIドキュメントを書いたらめっちゃはかどった話

Swaggerは、REST APIの仕様とそれに関連するツール群の総称です。REST APIの仕様を定義したJSONファイル(Swagger Spec)を軸に以下のようなツールから構成されています。 Swagger UI - Swagger Spec から動的にAPIドキュメントを生成するツール Swagger Edito…

CakePHPでもChatOps

ここ2週間ほど、追い込みで自宅に引きこもっていたわたなべです。 ChatOps 去年の夏ころから弊社でもSlackを使っていて、いま開発中の案件でも開発中の様々なイベントがSlackに流れてくるようになっています。いま連携してるのはこんな感じ。 Github Pivota…

「CakePHPで学ぶ継続的インテグレーション」- CakePHPを使って継続的インテグレーションを実践するながれを解説した書籍が出版されます

一部の方には事前にお話していましたが、わたしも共著で執筆に参加した「CakePHPで学ぶ継続的インテグレーション」という、CakePHPを使って継続的インテグレーションを実践するながれを解説した書籍が9/19にインプレスから出版されます!CakePHPで学ぶ継続的…

FileFixture Plugin for CakePHPを作りました

皆さんテスト書いてますか?という事で、必要に迫られて「FileFixture Plugin for CakePHP」を作りました。 Fixtureのデータを外部ファイルから読込む プロジェクトの規模が大きくなってくると、整合性の取れたテストデータを手動でFixture形式にするのは結…

「CakePHP2+Jenkinsで継続的インテグレーション」について話してきました

週末に行われた「(CakePHPとか)PHPのテストについての勉強会」@Co-Edoで、「CakePHP2+Jenkinsで継続的インテグレーション」について話してきました。今回は、CIの概念とかメリットに関してはこことか、ここなど先人のすばらしい資料に丸投げし(^^;、実際に…

ACL PluginでACL再入門

CakePHP Advent Calendar 2012 18日目の記事です。 昨日は、@msngさんのCakePHP の Configure クラスで最も悩ましい点を解決する方法 でした。確かにConfigureはちと長いですよね(^^;。当初、BDD Pluginについて何か書こうと思っていたのですが、なかなか時…

今時なCakePHPでの開発環境!?

前職を退職してもう半年以上経ってしまいました。おかげさまで、レガシーなコードとのバトル等色々お仕事しています。さて、先日のPHP Matsuri2012での@ryuzeeさんの発表を聞いて、開発環境や手法を改善するべく、今月から始まったプロジェクト用の環境を構…

CakePHP2実践入門がでました

9/29にわたしも共著で執筆に参加した「CakePHP2 実践入門」が発売されました。 安藤さんを筆頭に錚々たるメンバーです。CakePHPを使っている方であれば、ブログや書籍などでほぼ100%お世話になったことがあるのではないかと思います。 執筆環境 今回の執筆環…

CakePHP2+PostgreSQLでGeoデータを簡単に扱う!?

@tkengoさんから引き続き CakePHP Advent Calendar 14日目の記事です。深く考えず参加申し込みをしたらダブルヘッダーになってしまいヒーヒー言っているわたなべです(^^;この記事はCakePHP2系の記事です。 明日にはこんなイベントも開催されるようで、最近…

PHP Matsuriに参加しよう!

色々ばったばったしているわたなべです。 このエントリーは、10/15-16に大阪で開催されるPHP Matsuriのリレーブログエントリーです!http://2011.phpmatsuri.net/:image=http://img.f.hatena.ne.jp/images/fotolife/k/kaz_29/20111002/20111002173256.gifま…

candycaneをPostgreSQLにも対応させたい!

昨日の夜に社内用 redmine をアップデートしていたのですが、まだCakePHPもgitも覚えたての頃に、CakePHP開発合宿に参加して開発したのを思いだしたのか、急に candycane が気になったので、ちょっといじってみる事にしました。まずは手始めに、手持ちのMac…

Datasourceを使い倒す

CakePHP Advent Calendar2010 も折り返し点を過ぎました。CakePHP Advent Calendar2010は、ネタの調整などはしていないのですが(してないよね(^^;?)、参考になる話ばかりだし、まだネタがかぶったという話は聞かないので正に「君の当たり前に僕らは感嘆させ…

PHPMatsuriは熱かった!

大分たってしまいましたが、今回も昨年と同じく、スタッフとして参加したPHPMatsuriがなんとか無事終了しました。ブログを書かないとPHP Matsuriが終わらないので(^^; 私のみたPHP Matsuriについて少し書きたいと思います。 準備 当日 @yando さんも話してい…

独自namedパラメータを使って逆ルーティング

結構な忙しさなのですが、id:cakephperさんのTweetをみて妙に納得してしまったので、昨日はまってた事をまとめました。CakePHP 1.2.5で開発中です。namedパラメータはなかなかに便利なのですが、独自のnamedパラメータを使っているURLの逆ルーティングではま…

csv_sourceにfind,paginate対応を追加しました

先日のPHP勉強会の発表で取り上げた、csv Datasourceはcsvが非常に馴染み深いフォーマットなので Datasourceの挙動を理解するのにはとても良い教材だと思います。しかし、findやpaginateには対応していない簡易なものなので発表した勢いで簡単なfindとpagina…

第49回PHP勉強会@関東で発表してきました

第49回PHP勉強会@関東で、久々の参加&発表してきました。第49回PHP勉強会@関東 http://events.php.gr.jp/events/show/88発表資料 サンプルコードはこちらから発表は相変わらず...でしたが、なんとかDatasourceの面白さは伝えられたかなぁと思います。lithiu…

Schema ShellでDB設定を切り替える方法

忘れそうなのでメモ。今開発中の案件では、DBのスキーマ情報をCakeSchemaで管理しています。 本番環境に反映時する際、DB設定の切り替え方がわからなかったので調べてみました。connectionというパラメータを指定すると切り替えられます。以下の例だと「prod…

CakeLogをスマートにカスタマイズする方法

CakePHPのログ出力処理は結構簡易なもので今ひとつ使いにくいです。また、「内部的に flock してるからアクセスが多いと遅いので実運用では使わない方が良いよ!」という話も聞いていたので、うちではカスタマイズしたものを使っています。ROOT/cake/libs/ca…

sfMobileIPPluginをCakePHPに移植してみた

btoさんが作られたSymfony用のプラグインsfMobileIPPluginをCakePHPに移植しました。 IPアドレスから携帯のキャリアを高速に判定するsymfonyプラグインを作った [blog.bz2.jp] sfMobileIPPlugin [openpear.org] 以前から移植したものを利用していたのですが…

AuthComponentで軽くはまりました...

最近いろんなところではまってます...orzid:cakephperさんのブログでTwitterでのつぶやきが取り上げられていたので、ちょっとまとめてみます。現在、あるアプリの基盤部分を実装中なのですが、Authコンポーネントを使って管理ページの機能を作っています。 …

ContollerのTestのはまりどころ(redirect)

最近、テスト廚ぎみなわたなべです(^^;ビジネスロジックは出来るだけModelやComponentに書く様にしているのでModelやComponenntなどのテストはそれなりに書いていたのですが、Controllerのテストは全く書いていませんでした。とはいえ、Controllerにも処理が…

Cake Matsuri TOKYO 2009が終りました。

10/30〜31の二日にわたって開催された、CakeMatsuri TOKYO 2009が盛況のうちに終了しました。 今回は、参加者ではなく中の人として関わらせていただきました。 感想 初の試みが盛りだくさんで、色々と至らない部分もあったと思いますが、概ね満足頂けたよう…

ぼくとわたしのCakePHP

http://matsuri.cakephp.jp/:image=http://matsuri.cakephp.jp/themed/tokyo09/img/badges/matsurired.pngCakeMatsuri応援企画 "リレーブログ「ぼくとわたしのCakePHP」" のバトンをid:cakephperさんから受けましたので、そうそうたるメンバの中、CakePHP暦…

smatyview pluginを公開しました

先日の、CakePHPオフ会でMASA-Pさんに了承頂いたので、smartviewをplugin化して若干手を入れたものを公開しました。 まだドキュメント等もあまり整備されていませんが、ひとまずという事で...下記からどうぞ。http://github.com/kaz29/smartyview/tree/maste…

第1回 CakePHPオフ会@関東が開催されます!

id:cakephperさんの所でも既に告知がありますが、 第1回 CakePHPオフ会@関東が開催されます。 前回のirc集会のあとに色々話をしていて、「いきなり懇親会みたいな集まりをやりたいねー」みたいな話になりついに開催する運びとなりました。 http://atnd.org/e…