タグ

CakePHPに関するhsaitouのブックマーク (27)

  • vim-textobj-php を作ったらphpビューテンプレートの編集が超捗った : akiyan.com

    vim-textobj-php を作ったらphpビューテンプレートの編集が超捗った 2013-11-24 vimPHPのViewを書いていると、<? から ?> までを選択することが多々あります。vimにそこそこ慣れてきたのでいっちょプラグインを作ってみようと思って作ってみたら、これが思いの外便利だったのでご紹介。 akiyan/vim-textobj-php vaP で <? から ?> までを選択できます。 viP で <? から ?> もしくは <?php から ?> の中身だけを選択できます。 foreach文とかif文って大なり小なり記号が入っててva<では正しく選択できません。htmlタグが書かれている場合もあります。vim-textobj-phpならとにかく<?から?>までを選択できます。 また使用頻度は少ないですが、viPで <? から ?> もしくは <?php= ?>

    vim-textobj-php を作ったらphpビューテンプレートの編集が超捗った : akiyan.com
  • 「チュートリアルで作成したブログにタグ機能を実装するチュートリアル」をcakePHP2.0でやってみた。 - Toro_Unit

    「チュートリアルで作成したブログにタグ機能を実装するチュートリアル」をcakePHP2.0でやってみた。 元ネタはこれ。チュートリアルで作成したブログにタグ機能を実装するチュートリアル – 「最果て」の支部 cakePHPを最近触りだしたのですが、巷にcakePHP1系の情報があふれているのでなかなか大変な今日この頃です。 とりあえず、cakePHP2.0のブログチュートリアルにタグ機能を実装してみました。 やっていることは元ネタと変わらないので、そちらを読みつつやっていければと思います。 テーブルの作成 タグ機能みたいな、複数の値と複数の値を関連づけるような機能(この場合だと複数の記事が一つのタグに所属する&複数のタグが一つの記事に所属する)は、一筋縄ではいかないようです。投稿を管理するテーブルにタグを管理するフィールドを作って、タグのテーブルにもその逆を作って、そこにカンマ区切りとかj

  • CakePHP コントローラのメソッドをシェルで実行する方法

    <?php App::uses('AppController', 'Controller'); class BotController extends AppController { public function tweet() { return $this->Bot->tweet(); //つぶやいた内容をreturnするメソッドとする } } <?php App::uses('TwitterController', 'Controller'); class BotShell extends AppShell { public function startup() { parent::startup(); $this->TwitterController = new TwitterController(); } public function tweet() { $this->out(

  • gitでpushしたりpullしたり | 半年前の私への教科書

    なんかおかしいと思いつつも、決定的な情報がなかったために間違ったやり方をしていたのですが、ひょんなことから正しい情報をゲットしたので、私はこうやって使っていますという話を。 (もしかしたらまだまだ非効率なやりかたをしていると思うので是非ご指摘ください) バージョン管理システム自体を知らなかった自分にも理解できるよう、かみ砕いた説明をしたいと思います。 基的にgitは、sshが使えれば、導入をためらうことはありません。 サーバー間のやりとりはsshを使って行えますので、gitを導入するにあたって余計なポートをあけたりする必要はないです。 gitでは、今いるレポジトリ(ソースを入れてるディレクトリ)を特に「ローカルレポジトリ」と呼び、やりとりする相手方を「リモートレポジトリ」と呼びます。 普段開発している社内のPCを開発サーバー(開発環境)と呼び、Webサイトを公開しているサーバーにはテ

  • CakePHPでページ毎に異なるMETAタグ(descriptionとkeywords)を設定する | Mac Studio

    CakePHPの場合、descriptionとkeywordsがデフォルトだと、レイアウトで固定されてしまっているので、ページ毎にdescriptionとkeywordsを変えてみる。 SEO対策にもなるし。ちなみにCakePHPのバージョンは1.3です。 まずapp_controllerに基となるdescriptionとkeywordsをセット。 [php]function meta_tag($meta = null){ /////METAタグSET///// if(empty($meta)){ $meta_desc = ‘基META説明’; $meta_key = ‘基METAキーワード’; }else{ $meta_desc = $meta[0]; $meta_key = $meta[1]; } $this->set(compact(‘meta_desc’,’meta_key’

    CakePHPでページ毎に異なるMETAタグ(descriptionとkeywords)を設定する | Mac Studio
  • cakephp 動的にmetaタグを入れる | まとめーたー

  • CakePHPのTDDが体験できるCandyCaneの開発会を行います。 : candycane development blog

    今週末、連休前の土曜日にCandyCaneの開発会を行います。 CandyCaneの機能やプラグイン、テーマの開発に興味がある方の参加ももちろん歓迎ですが、CandyCaneのユニットテストの増強を通じてTDDを体験したい方の参加も受け付けたいと思います。 参加資格としてはPHPを使った開発経験があり、ローカルにCandyCaneが動作する状態にしてくる事です。 動作さえしていればテストの実行は直ぐにできるのでそこからテストケースの増強作業に参加してもらおうと思います。 作業ベースで担当をアサインして進めますので実際の開発案件なみにリアルなTDDが体験できるでしょう。 参加登録はATNDで受け付けています。 CandyCane 開発会 2013春 : ATND ※参加してくださった方には記念品を差し上げます。 参加をお待ちしております。

    hsaitou
    hsaitou 2013/04/26
    参加します
  • Linux環境(CentOS)でCakePHPをgit管理する手順をまとめてみました。 - otukutunの日記

    こんにちは。 gitをぼちぼち使い始めていたのですが、CakePHPでgit管理する場合にコアファイルも管理すべきかそうしないべきか、バージョンをあげるときを考えたら、どうするべきかなどで悩んでいました。そのときはCakePHPではコアディレクトリを管理下から外してました。 今回は、コアディレクトリをsubmodule化してコアディレクトリも管理します。こうすることで、バージョン上げも容易?にできるのかと思います。今回はcakephpを2つ使います。ひとつは、今までのように使いますが、コアファイルは削除します。そして、もうひとつのやつは、subumodule化してコアファイルを使用します。今回はほんとに備忘録的な意味合いが強いですがが、、 最初に全体の流れ 1つ目のcakephpをダウンロードする ダウンロードしたコアファイルを削除してgitの設定 実際に使用するコアファイルのダウンロード

    Linux環境(CentOS)でCakePHPをgit管理する手順をまとめてみました。 - otukutunの日記
  • CakePHPのセッションタイムアウトの指定はSession.timeoutだけではダメだった

    CakePHP 2.xで、セッションタイムアウトの時間を指定しようとすると、下記のように書くと思います。 Config/core.php Configure::write('Session', array( 'defaults' => 'php', 'timeout' => 1440, //1days ←単位は分 )); しかし、これだけではダメだったりするのです。 具体的には、1日経たなくてもセッションタイムアウトしてしまいます。 その理由は、PHPでのセッションファイルのガベージコレクションにあります。 PHPでは、セッションを開始すると(session_start())、ふつうはセッションファイルを作成します。 CentOS6.2にyumでPHPを入れた場合は、/var/lib/php/sessionあたりです。 CakePHPのcore.phpで、Session.defaultsを

    CakePHPのセッションタイムアウトの指定はSession.timeoutだけではダメだった
  • 【PHP】CakePHPでRESTのJSON APIを作成する

    ちょっと次のアプリの為にこちらでAPIを作成する必要が出てきました。 ので、APIの作成をAWSで行うことにしました。 サーバサイドはPHPPerlしか書けないし、 frameworkはcakeしか使えないというダメエンジニアの為、 cakeでREST APIを作成する事にいたしました。 その作成手順をご紹介 まず、RESTとはなにか…とは私も良くわかりませんのでググってください。 HTTP通信のGET/POST/PUT/DELETEによって返す内容を変えるって事と理解しています。 ちなみに、cakeのREST APIは マニュアル»CakePHPによる作業の定石»REST»単純なセットアップ ここで解説されております。 まずはroutes.phpの設定 Router::mapResources('controller_name'); Router::parseExtensions();

  • CakePHPで「home.ctp」のレイアウトを変更。 | Almondlab

    CakePHPでトップページの表示を変更するには「app/views/pages/home.ctp」を書き換えることで可能です。 この場合レイアウトは、自動的に「app/views/layouts/default.ctp」を利用します。 通常レイアウトの変更には、コントローラーのアクションに「$this->layout = ‘default’;」といった感じで、任意に変更ができるのですが、もともとコントローラーを作成しないトップページの場合では、簡単にレイアウトの変更ができません。 そのための解決方法として、トップページの表示を担うコントローラーをCakePHPコアのライブラリからコピーして、一部修正することにします。 はじめに、コアに含まれるライブラリ「cake/libs/controller/pages_controller.php」を、「app/controllers」にコピーします

    CakePHPで「home.ctp」のレイアウトを変更。 | Almondlab
  • app_model.php(CakePHP1.2)をおれに隠すな!(被害妄想) - 夜の Discovery

    ということでさらしてみます。 <?php class AppModel extends Model { /** * 特定のアトリビュートだけバリデーションを実行します。 * * ex. * $this->validateAttributes(array('pc_email', 'mb_email')); * $this->validateAttributes(array('only' => array('pc_email', 'mb_email'))); * $this->validateAttributes(array('except' => array('pc_email', 'mb_email'))); */ function validateAttributes($attributes = array(), $options = array()) { $tgt_attributes

    app_model.php(CakePHP1.2)をおれに隠すな!(被害妄想) - 夜の Discovery
  • 個人的によく使いまわすAppModelにおける5つのメソッド

    俺がCakePHPの開発では最近は必ずというほど実装しているAppModelの機能をなんとなく紹介してみる。 だいたいはどこかのサイトに載っていたものを使っていますが、出所は覚えてなかったり。。。 CakePHP 1.2.7対応(おそらく1.2共通) 開発環境と番環境でDB切り替え 開発環境では開発用のDB番では番用DBを自動で切り替える機能。 これやっとけば設定の書き換えなしで、番アップ可能。 // app_model.php function __construct($id = false, $table = null, $ds = null) { $this->useDbConfig = !IS_DEVELOP ? 'default' : $_SERVER['CAKE_DB_CONFIG']; parent::__construct($id, $table, $ds); }

    個人的によく使いまわすAppModelにおける5つのメソッド
  • Gitと一緒にCakePHPを楽しむ – CakePHP Advent Calendar 2010 6日目

    これはCakePHP Advent Calendar 2010の6日目の記事です。 CakePHP Advent Calendarって何?という方はこちらへ。 CakePHP Advent Calendar 2010を開催! CakePHPに関するtipsを1日1つ、順番に紹介するということなので、私はGitとCakePHPの活用について書きます。 恐らく、これはCakePHPに限らずあらゆるフレームワークで有効なtipsです。 CakePHPを初めとするフレームワークを長く使っていると、色々と面倒なことが起きてきます。 フレームワークのバージョンアップ 外部ライブラリのバージョンアップ 複数プロジェクトにおけるコードの共通化 “フレームワークのバージョンアップ“は重要です。 先日、こんなバグも発見されましたしね。 CakePHPPHPコード実行の脆弱性を使ってCakePHPを焦が

  • CakePHPのコーディング規約違反をPHP_CodeSnifferでチェックする #CakephpAdvent2011 : candycane development blog

    この記事はCakePHP Advent Calendar 2011に参加しています。 記述したコードの表記ゆれを防ぐ為の手法としてコーディング規約があります。見通しが良く一貫性のあるスタイルで記述されたコードはメンテナンス性を維持する助けになり、コードレビューの際の不毛な論争を少し減らす手助けになります。今回はCakePHPでアプリケーションを開発する際にコーディング規約を適用する方法を検討してみます。 どのコーディング規約を適用するか PHPではPEARのコーディング規約が一般的に知られていますが、PEARはライブラリという事もありこの規約をそのままアプリケーションの実装に適用するのは冗長かもしれません。また同様にZendフレームワークやSymfonyもコーディング規約を持っています。 CakePHPでアプリケーションを実装する場合を考えてみても、PEARのスタイルはCakePHPが採

  • CakePHP2アプリケーションをCapistranoでデプロイする

    アプリケーションのデプロイを自動化すべきなのは言うまでもないことです。 一応手動でデプロイを行う場合の問題点について整理しておくと以下になります。 プロジェクトの期間中そして運用に入ってからも何度も手でデプロイするということはとてつもなく多くの時間を手作業に費やすことになるデプロイ先の環境の数が多くなればなるほど作業の時間も増える手作業で作業すると間違えやすい。特に手順が複雑だったり環境が多かったりすると確率は飛躍的にあがるもしデプロイしたアプリケーションに問題があってすぐに戻さなければならない場合に多くの時間がかかる。場合によってはビジネス上の機会損失に繋がる来は価値を生むフィーチャーを実装することに時間をかけたいはずが、こういうことをやっているとどんどん時間がなくなっていきます。また手作業のリスクや消費される時間を恐れてデプロイの回数を減らしてしまうのは、ビジネス側からみると納得いか

    CakePHP2アプリケーションをCapistranoでデプロイする
  • CakePHP2.2.3でFacebook連携して自分の友達の女の子の画像を一覧で見てみる (CakePHP Advent Calender2012 1日目) | tagamidaiki.com

    ついに今日から25日まで続くAdvent Calenderが始まりました。 CakePHP Advent Calender2012の1日目を担当させていただく、たがみ(@DAI199)です。 Cakeを使い始めて半年程度の新米ですが、僕の知識をみなさんに共有するために今回の記事を書きたいと思います。 CakePHPアドベントカレンダー2012家 http://www.adventar.org/calendars/40 Twitterハッシュタグ #cakeadvent2012 普段はFacebookと連携したアプリを量産しているため、今回の記事では、CakePHPとFacebookを連携し、ちょっとしたアプリを作ってみたいと思います。 デモアプリはこちら >>> 女の子の画像一覧を見てみる Facebookログインの実装 それでは早速Facebookログインを実装していきましょう。 以下

    CakePHP2.2.3でFacebook連携して自分の友達の女の子の画像を一覧で見てみる (CakePHP Advent Calender2012 1日目) | tagamidaiki.com
  • 【資料公開】CakePHP+Jenkinsによるアジャイル開発

    みなさんこんにちは。@ryuzeeです。 2012年11月3日,4日の二日間にかけて行われたPHPMatsuri 2012で、登壇させていただきました。 その際の資料を公開しておきます。 内容は過去にやったワンクリックデプロイ勉強会の内容にCakePHPっぽい内容を追加した感じです。 大分前からこのあたりの話はしているのですが、まだまだデファクトスタンダードでどこの会社でもやっているという状況にはほど遠く、ようやく各社取り組み始めたところ、という感じな気がします(もちろん大分状況は変わってきた) 参加者の方に聞いたところ、環境構築含め自動化されているのは2名くらいでした。 せっかくフレームワークを使い倒して高速に開発できるようになっても、もっと他に高速化すべき箇所もあるし、そもそもその速度を継続できないと意味がない、いまそのあたりができていないならできるところから着実に改善していくといいん

    【資料公開】CakePHP+Jenkinsによるアジャイル開発
  • CakePHP2.0+Jenkinsで継続的インテグレーションを行う方法

    みなさんこんにちは。@ryuzeeです。 CakePHP2.0になってテスティングフレームワークがSimpleTestからPHPUnitに変わったことで、以前に比べると大分簡単にはなっていますが、まとまった情報が少ないので整理しておきます。 事前準備JenkinsのインストールおよびCIサーバへのPHPのインストールは済ませておいてください。 CakePHP2.0でCIを行う場合は、以前のようにStagehand_TestRunnerを使ったりPhingを使う必要はありません(Phingは以前も使わない手もあった)が、PHPUnit、Xdebugのインストールは行なっておきます。 また今後利用するであろう、PMDやCPD等も導入しておくと良いでしょう。 なお、今回の作業はCentOS5.7上でPHP5.3.8を利用して行いました。 PHP関連のパッケージ導入 pecl install xd

    CakePHP2.0+Jenkinsで継続的インテグレーションを行う方法
  • Academic, the minimalist blog CMS

    academic* The minimalist blog CMS Academic is a lightening-fast blog CMS based on CakePHP and Bootstrap. It respects HTML5 and CSS3 standards. Download latest version View on github