https://fortee.jp/phperkaigi-2022/proposal/400cae97-9c03-4faa-948f-4bfa651b42b9 2022.04.10 PHPerKaigi 2022 #phperkaigi
タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
基盤チームに所属している @okinaka です。 個人的には CakePHP とは長い付き合いで、もう14年以上になります。 BASE の事業においても10年間ずっと支えてくれている大変ありがたい Web フレームワークです。 以前から BASE の多くのコードはまだ古い CakePHP 2 (v2.10.24) 上で動作していることが課題になっています。 CakePHP 自身は順調に開発が継続されていますが、2系から3系へのバージョンアップはなかなか困難で二の足を踏んでいました。 そうこうしているうちに古いバージョンの2系は既に公式でのサポートは切れているうえに PHP 8.0 未サポートの状態です。 さすがにそのまま継続して利用するのは無理があるので、数年前から、より柔軟にシステムを構築するためのアーキテクチャ再設計をすすめています。 その成果は上がってきているのですが、単純なフレー
こんにちは、システム部のマルです。 最近、田舎に引っ越して自然に囲まれてコロナで疲れた心を癒しつつあります。 今日は既存システムをReact を使ってリニューアルしたので、振り返ってみたいと思います。 はじめに 今回リニューアルしたのは、外部企業にも提供しているアンケート配信サービスの一部です。 このアンケート配信サービスはマイクロサービス化していて、個々の機能が各々リポジトリに分かれています。 今回はそのうちの一つ、モノリシックなCakePHP で構成されているサービスをリニューアルしました。 既存の構成はCakePHP でview を描画し、バックエンドから適宜DB に直接アクセスしたり、他サーバーに設置されたAPI群を呼び出したりしていました。 これを今回以下のように、フロントエンドからAPI を呼び出す形にリニューアルしました。 フロントエンド: React + Redux バック
こんにちは。プロダクト開発部の @su-kun1899 です。 今回はママリの CakePHP アプリケーションに Fixture Factories を導入した事例を紹介します。 Fixture Factories とは何か Fixture Factories は、モデルやデータベースに依存するテストコードにおいて、テーブルの作成やデータ初期化を行うためのプラグインです。 github.com CakePHP には元々 Fixture という仕組みが提供されていますが、 Fixture Factories はより柔軟に扱うことができます。 https://book.cakephp.org/4/en/development/testing.html#test-fixtures 導入したきっかけ アプリケーションの規模が大きくなり、機能が増えてくると、テーブル(モデル)ごとに一律データを管理
iroha Tech Note 備忘録です。HTML5/JS、Electron(旧Atom-Shell), NW.js(旧node-webkit)、Adobe AIR/Flex、標準化の話などを中心に、日々学んだことを書いていきます。 フレームワークのアップグレードは、しばしば開発者にとって頭の痛い問題となっています。今回は恐らく多くの組織で課題となっていると思われる CakePHP2 から CakePHP4 へ移行について取り上げてみたいと思います。 小規模かつCakePHP2版のソースのメンテナンスの継続を前提としたソフトウェアを移行対象としており、他のシステムの移行に対してはあまり参考にならない可能性があります。またビヘイビア、コンポーネント、ヘルパー、プラグイン、シェル、テストは移行対象としていません。記載しているコードは事前調査のために独自に作成したもので、動作を保証するものでは
こんにちは!久々の登場となります @takoba_ です!! このエントリは、 コネヒト Advent Calendar 2021 の 8日目 のエントリです。 7日目は @shnagai による 異なるデータソース間の同期がしたくてAWS DMSについて調べたのでまとめてみた でした。 tech.connehito.com CakePHP の Authentication プラグインとは? CakePHP は CakePHP4 がリリースされるタイミングで、認可をする機能を cakephp/authorization プラグインに、認証をする機能を cakephp/authentication プラグインに分離しました*1。これらのプラグインは、実は PSR-7 に準拠した Middleware を提供する Composer パッケージになっていたりします。つまりは、 PHP 界隈にとっ
XSSとCSRFの違い表 ■CORS(Cross-Origin Resource Sharing) 追加のHTTPヘッダーを使用して、あるオリジンで動作しているウェブアプリケーションに、異なるオリジンにある選択されたリソースへのアクセス権を与えるようブラウザーに指示するための仕組み。 サーバがブラウザに指示するというところがポイント。 ブラウザ側はCORS制約を検知するとエラーの挙動をとる。なのでPostmanのようにhttpリクエストを投げるようなツールはCORS制約を受けない。あくまでCORS制約を受ける場合においてはサーバ側からのレスポンスを読み取らせないというブラウザに備わる機能。 ※深堀り! CORS対策をブラウザがしているのであればCSRFトークンといった対策をサーバ側はする必要ない?と思ってしまうけど、そうじゃない。 先述したようにCORSはあくまでブラウザの挙動。CSRF対
記事作成の背景 Ajaxって聞くけど、、、なんだ?っていうのと、個人的に動的セレクトボックスの ヒントを残しておきたくて作成しました。 なんかパッとする記事が見つけられなかったので、これが少しでも困ってる方の助けになれば幸いです。 環境 CakePHP4 (最新) jQuery MySQL 8.0 全体のコード とりあえずコード見てみるか・・・って方向けに最初に記載しておきます。 勉強会向けに色々書いてありますが、こちらの記事では必要箇所のみ抜粋して記述いたします。 https://github.com/Kurogoma939/cake_ajax_sample.git テストデータ 今回、検証環境はMAMPを用いて開発しました。 そのため、エクスポートしたSQLは以下の通りです。 保存場所 : app/SQL/create_tabel、app/SQL/insert_table CREATE
既存プロダクトのCakePHPのアップグレード戦略 こんにちは。サーバーサイドエンジニアをやっている西中です。 花粉症に悩まされているので最近空気清浄機を購入しました。こころなしか症状が緩和している気がしています。 前回はCakePHP4.3にアップグレードする際に躓きがちなphpunitの変更ポイントをいくつか紹介させていただきました。 実はこのCakePHPのアップグレード対応は段階的に行っていました。 CakePHP段階的なアップグレード対応 私が携わっているこのプロダクトは2018年11月にリリースされました。 リリースした時点ではCakePHPのバージョンは3.6でした。 いきなりCakePHP3.xからCakePHP4に上げてしまうとアップグレード対応の差分が大きくなってしまい、対応に時間がかかってしまうという問題があるため、段階的にアップグレード対応しようという判断になりまし
こんにちは。CTOをやっている@itoshoです。コネヒトではここ1ヶ月でiOSDCやAWS Dev Day、PHPカンファレンス、PyCon JPと大きなカンファレンスへの登壇が続いています( ・∀・)イイ!! というわけで、僕も負けじ?と「CakeFest Virtual 2021」に登壇してきたのでその様子をお届けしたいと思います。 CakeFest Virtual 2021とは? CakeFestはPHPのフレームワークであるCakePHPの国際カンファレンスで、今年は昨年に引き続きオンラインで開催されました。構成としては初日にCakePHPのコアメンバーによるワークショップが開催され、2日目にカンファレンス形式で世界各国のエンジニアからの発表が行われました。 イベントの規模は、公式発表ではないので推測になりますが、2日目のカンファレンスは常時100人前後の方が参加していたと思いま
はじめに 社内で複数のサービスが共通で利用している認証基盤を、CakePHP 2.9 から Go にフルリプレースしています。現在アプリケーションの開発は完了しており、これから AWS(ECS Fargate)への本番移行を進めていく段階です。 この記事では、なぜリプレースに踏み切ったのか、どのような戦略で開発を進めたのか、そして今後の移行計画について紹介します。 旧システムの構成と課題 構成 旧システムは以下のような構成です。 Web サーバー: 国内クラウド上の物理サーバー 3台(CentOS 7 + Apache + CakePHP 2.9) DB: 別の国内クラウド上の物理サーバー 1台(MariaDB 5.5) LB: 国内クラウドのロードバランサー 1台 この認証基盤は 10以上の社内サービスから利用されており、ログイン・トークン検証・アカウント管理などの API を約20本提
🌱 はじめに こんにちは。 自社プロダクト「360(さんろくまる)」を手掛けている技術開発第一部門の みやがわ です。 今日は、昨年2021年からフロントエンド界隈を盛り上げている 高速ビルドツール「Vite」を非SPAな従来のWebアプリに導入してみる、という内容をご紹介します。 タイトル通りバックエンドフレームワークにCakePHPを題材としてあげていますが、 対応方針はどのフレームワークでも変わらないのでLaravelやRailsを使ってる方にも参考になるかと思います。 🌱 内容まとめ MPAでもHMRとホットリロードの恩恵を受けられる✨ CakePHPに導入するためのヘルパーを作ろう✨ フロントエンドの世界はViteに、バックエンドの世界はvite-plugin-live-reloadに頼る✨ 🌱 環境 CakePHP: 4.3 Vite: 2.8.4 vite-plugin
PHPUnitとは PHPUnitとはPHPのユニットテスト用のPHPライブラリであり、 PHPのクラス単位でテストを行う。 PHP Unitはどんなソースコードでもテストできるわけではない。 ある程度テストしやすい設計が求められている。 なるべくクラスは他のクラスと疎結合であるとテストしやすくなる。 PHP Unitを利用するからといって、テスト作業がすべて自動化されるわけではない。 PHP Unitも「テストの原則」則っている。 そのため、テストコードを書かねばならず、時間もかかる。 PHPUnitと手動テストは互いに得意、不得意があるので、 PHPUnitだけに頼るのでなく、場所によっては手動テストを行い、使い分けるのが良い。 PHP Unitのテストコードは複雑にならないようにしなければならない。 何をしているかすぐに分からないテストコードは、開発コストを高くする。 メリット 数値
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く