This domain may be for sale!
タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
This domain may be for sale!
基盤チームに所属している @okinaka です。 個人的には CakePHP とは長い付き合いで、もう14年以上になります。 BASE の事業においても10年間ずっと支えてくれている大変ありがたい Web フレームワークです。 以前から BASE の多くのコードはまだ古い CakePHP 2 (v2.10.24) 上で動作していることが課題になっています。 CakePHP 自身は順調に開発が継続されていますが、2系から3系へのバージョンアップはなかなか困難で二の足を踏んでいました。 そうこうしているうちに古いバージョンの2系は既に公式でのサポートは切れているうえに PHP 8.0 未サポートの状態です。 さすがにそのまま継続して利用するのは無理があるので、数年前から、より柔軟にシステムを構築するためのアーキテクチャ再設計をすすめています。 その成果は上がってきているのですが、単純なフレー
CakePHPのDICいれよーぜPRがマージされとった🎉🎉 (タイミング的にcakefestに間に合わせたかな?) ちゃんと内容追うぞーーー Add a dependency injection container by markstory · Pull Request #14945 · cakephp/cakephphttps://t.co/GSgNp1WBNR— 今日も誰かのにちようび(おいしい鮭親子丼) (@o0h_) 2020年10月1日 ということがありまして、20201005現在で「4.next」に取り込まれているスティタスです! ※ 現行の4.1のパッチバージョンについてはmasterに向けられるので、 4.nextは「次のマイナーバージョン」である4.2を指します 「CakePHPにDIコンテナが入ったらどんな感じに使われるんだろう?」というのは個人的にかねてより興味範
こんにちは、システム部のマルです。 最近、田舎に引っ越して自然に囲まれてコロナで疲れた心を癒しつつあります。 今日は既存システムをReact を使ってリニューアルしたので、振り返ってみたいと思います。 はじめに 今回リニューアルしたのは、外部企業にも提供しているアンケート配信サービスの一部です。 このアンケート配信サービスはマイクロサービス化していて、個々の機能が各々リポジトリに分かれています。 今回はそのうちの一つ、モノリシックなCakePHP で構成されているサービスをリニューアルしました。 既存の構成はCakePHP でview を描画し、バックエンドから適宜DB に直接アクセスしたり、他サーバーに設置されたAPI群を呼び出したりしていました。 これを今回以下のように、フロントエンドからAPI を呼び出す形にリニューアルしました。 フロントエンド: React + Redux バック
管理画面ファイルをBakeで作成 先ほどマイグレーションファイルをbakeで作成しましたが、bakeにはその他のファイルを作成する機能があります。 必要なファイルはModel、Controller、View(template)です。 次のコマンドで生成することができます。 $ bin/cake bake model posts $ bin/cake bake controller posts --prefix admin $ bin/cake bake template posts --prefix admin 実はbakeにはallコマンドがあり、これを実行すれば全てのファイルを生成できるのですが、今回はデータを編集するのは管理画面だけにしたいので、コントローラーとテンプレートには--prefix adminを付けて、Adminディレクトリに生成するようにしてます。 バリデーションの設定
CakePHP Advent Calender 2019 最終日の記事です。 SREチームの金澤です。 2019/12/16にCakePHP4がリリースされました。 ランサーズでは、CakePHP2.10の現システムをCakePHP3に移行中ですが、 同時に、管理画面のソースを別リポジトリに分割し、 CakePHP4で新規構築するプロジェクトも進めています。 CakePHP3で開発をしていたのですが、 CakePHP4が正式リリースされたので、CakePHP4にmigrateしました。 今回、その手順を記録しておきたいと思います。 composer.jsonのCakePHP4対応 CakePHP4.0にアップグレードするためにcomposer.jsonを修正します。 案の定ですが、単純に "cakephp/cakephp": "^4.0", として、composer updateしても依存
こんにちは。プロダクト開発部の @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版のソースのメンテナンスの継続を前提としたソフトウェアを移行対象としており、他のシステムの移行に対してはあまり参考にならない可能性があります。またビヘイビア、コンポーネント、ヘルパー、プラグイン、シェル、テストは移行対象としていません。記載しているコードは事前調査のために独自に作成したもので、動作を保証するものでは
#はじめに# CakePHP(3.8)のバリデーションメソッドまとめです。 バリデーションの基本は、Validationクラスのインスタンスに、チェーンメソッドで適応したルールを記述していきます。 use Cake\Validation\Validator; $validator = new Validator(); $validator ->requirePresence('age') ->notEmpty('age', 'このフィールドに入力してください') ->nonNegativeInteger('age', '年齢は数字で入力してください。') Validatorクラスは、基本的にはValidationクラスのラッパーになっています。(例外もあります) そのため、実際にどのような処理が行われるかを知るためには、Validationクラスを覗く必要があります。 public fun
こんにちは!久々の登場となります @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 界隈にとっ
本記事は CakePHP Advent Calendar 2019 の19日目のエントリーになります。 はじめに 先日、待ちに待ったCakePHP4.0.0が 正式リリース されましたね そして、気が早いのですが4.0系がリリースされたということは、次の大きなアップデートは4.1系のリリースということになります。(本当に気が早くてごめんなさい) そんなこともあり早速 4.1のロードマップ をチラ見してみたのですが Application の欄に以下のような記述があり、何やら面白そうな変化が起きそうだなと感じました。 Experimental support for PSR11 compliant dependency injection container. Potential libraries that we could use are: phpleague/container - h
はじめに 昨年12月に投稿した「CakePHP 4.0.0-RC2 でユーザー認証を実装」では CakePHP Authentication を composer でインストールすることができず、従来からの Auth コンポーネントを使って実装しました。 あれから月日が流れてインストールが可能になりましたので、今回は CakePHP 4 で CakePHP Authentication プラグインを使ってユーザー認証するコードをご紹介します。 GitHub - cakephp/authentication: Authentication plugin for CakePHP. Can also be used in PSR7 based applications. https://github.com/cakephp/authentication 目次 インストール users テーブル
記事作成の背景 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に上げてしまうとアップグレード対応の差分が大きくなってしまい、対応に時間がかかってしまうという問題があるため、段階的にアップグレード対応しようという判断になりまし
CakePHP4でクッキーを使用して、自動ログインを実装しようと思ったところ、CakePHP3.5でクッキーの仕様が大きく変わっていましたので、紹介します。 CakePHP3.4まではCookieComponentを使用していましたが、CakePHP3.5から非推奨になっていました。 公式ドキュメントには以下の記述があるのですが、これがよく分からなかったので、紐解いてみます。 クッキーは、 ServerRequest で利用できます。 クッキー をご覧ください。 クッキーの暗号化は クッキー暗号化ミドルウェア をご覧ください。 https://book.cakephp.org/4/ja/controllers/components/cookie.html本記事ではCakePHP4.1.5を使用しています。 自動ログイン機能の流れログイン時に「ログインしたままにする」というチェックボックスに
この記事について この記事では、CakePHPを使ったREST APIの作成方法を紹介します。 バックグラウンド、モチベーション 前提に、自分はCakePHPを会社研修レベルでしか学んでいません。しかし、MVCというフレームワークについては、Java Spring、Ruby、Python Djangoの実務経験が2年程あるため、仕組みは理解していました。 モチベーションは、以下2点です。 - REST APIとは何か、作りながら理解したい - 複数言語で1つのアプリを作成してみたい REST APIとは 自分の解釈でAPIを説明すると、以下になります。 「一般のWEBアプリでは、HTTP Request(POST&GET)を投げるとHTMLファイルが返ってくるが、REST APIでは、HTTP Request(POST&GET)を投げて返ってくるのはデータ、主にjson形式。」 つまり、こ
XSSとCSRFの違い表 ■CORS(Cross-Origin Resource Sharing) 追加のHTTPヘッダーを使用して、あるオリジンで動作しているウェブアプリケーションに、異なるオリジンにある選択されたリソースへのアクセス権を与えるようブラウザーに指示するための仕組み。 サーバがブラウザに指示するというところがポイント。 ブラウザ側はCORS制約を検知するとエラーの挙動をとる。なのでPostmanのようにhttpリクエストを投げるようなツールはCORS制約を受けない。あくまでCORS制約を受ける場合においてはサーバ側からのレスポンスを読み取らせないというブラウザに備わる機能。 ※深堀り! CORS対策をブラウザがしているのであればCSRFトークンといった対策をサーバ側はする必要ない?と思ってしまうけど、そうじゃない。 先述したようにCORSはあくまでブラウザの挙動。CSRF対
CakePHP 3 を使用して外部のAPIを利用する際の実装方法をまとめました。 2系の時とは実装方法が異なるので、2系でAPIの実装したことがある人は注意が必要です。 実行環境 PHP : 7.1.0 CakePHP : 3.5.X GET リクエストで API を実行する場合 Controller に下記の action を追加します。 今回は郵便番号から住所を取得する外部 API を利用します。 Controller の先頭部分に Client をインポートしておきます。 use Cake\Network\Http\Client; public function searchAddress() { $url = 'http://zipcloud.ibsnet.co.jp/api/search'; $data = [ 'zipcode' => $this->request->getQu
こんにちは。CTOをやっている@itoshoです。コネヒトではここ1ヶ月でiOSDCやAWS Dev Day、PHPカンファレンス、PyCon JPと大きなカンファレンスへの登壇が続いています( ・∀・)イイ!! というわけで、僕も負けじ?と「CakeFest Virtual 2021」に登壇してきたのでその様子をお届けしたいと思います。 CakeFest Virtual 2021とは? CakeFestはPHPのフレームワークであるCakePHPの国際カンファレンスで、今年は昨年に引き続きオンラインで開催されました。構成としては初日にCakePHPのコアメンバーによるワークショップが開催され、2日目にカンファレンス形式で世界各国のエンジニアからの発表が行われました。 イベントの規模は、公式発表ではないので推測になりますが、2日目のカンファレンスは常時100人前後の方が参加していたと思いま
🌱 はじめに こんにちは。 自社プロダクト「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
SREチーム、QAチームの金澤です。 昨年より、CakePHP2→CakePHP3の段階的バージョンアップに取り組んできましたが、 バージョンアップ対象をCakePHP3からCakePHP4に変更しました。 CakePHP2→CakePHP4にターゲットを変更する CakePHP3へのバージョンアップを開始したのは、2019/8です。 ※バージョンアップ開始時のブログはこちら。 この時はまだCakePHP4は正式にリリースされていませんでしたが、 CakePHP2→CakePHP4へのジャンプアップできるか調査したところ、 PHPUnitのバージョンが合わず、見送っていました。 CakePHP2で利用できるPHPUnitの最新バージョンはPHPUnit5.7です。 CakePHP3では、PHPUnit5.7が共存できたのですが、 CakePHP4で利用できるPHPUnitの最低バージョンは
ルートディレクトリの中で、ルーティングする例:「/」 = トップページ にアクセスした場合、Pagesコントローラのindexアクションに飛ばす。 $routes->connect('/', ['controller' => 'Pages', 'action' => 'index']); $routes->fallbacks(DashedRoute::class); / $routes->connect('パスを書く', ['controller' => 'コントローラ名', 'action' => 'アクション名']);サブディレクトリに対してルーティングする例:admin/posts/viewにアクセスした場合、admin/posts/indexに飛ばす。 サブディレクトリに対してルーティングする場合は、Router::prefixにする。 Router::prefix('admin'
PHPUnitとは PHPUnitとはPHPのユニットテスト用のPHPライブラリであり、 PHPのクラス単位でテストを行う。 PHP Unitはどんなソースコードでもテストできるわけではない。 ある程度テストしやすい設計が求められている。 なるべくクラスは他のクラスと疎結合であるとテストしやすくなる。 PHP Unitを利用するからといって、テスト作業がすべて自動化されるわけではない。 PHP Unitも「テストの原則」則っている。 そのため、テストコードを書かねばならず、時間もかかる。 PHPUnitと手動テストは互いに得意、不得意があるので、 PHPUnitだけに頼るのでなく、場所によっては手動テストを行い、使い分けるのが良い。 PHP Unitのテストコードは複雑にならないようにしなければならない。 何をしているかすぐに分からないテストコードは、開発コストを高くする。 メリット 数値
こんにちわ。kyamashitaです。 最近触ってなかったですが、CakePHPが4になっていたので、環境作ってみようと思いました。 前回 はDockerで作りましたが、今回はVirtualBoxのCentOS8に作ってみます。 CentOS8 まずはVirtualBoxにCentOS8を こちら からダウンロードしてインストールします。 初回起動時にアップデートとSELINUXを無効にして再起動します。 # dnf -y update # vim /etc/selinux/config SELINUX=disabled # reboot MariaDB MariaDBをインストールしCake用のデータベースとユーザーを作っておきます。 # dnf -y install mariadb-server mariadb # vim /etc/my.cnf.d/mariadb-server.cn
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く