SlimはPHPで作られた比較的新しいフレームワークです。「マイクロフレームワーク」のひとつで、SynfonyやCakePHPなどのフルスタックのものとは異なり、非常にシンプルな構成になっています。機能も、フロントコントローラにフォーカスしているので、モデルやDBへのアクセスといった部分はごっそり省略されています。まさに「Slim」です。 Slimのサイト - http://www.slimframework.com/ ダウンロード - http://www.slimframework.com/install ソースコード - https://github.com/codeguy/Slim Let's start! 何はともあれ、まずはサンプルを作成してみましょう。 GitHubのmasterブランチからSlimをダウンロードして、ZIPファイルを解凍します。ここでは、 .htaccess
Webスクレイピングだなんて、あんまり大きい声じゃ言えない。 結局のところ、他所様のコンテンツを勝手に拝借してゴニョゴニョするわけで、良いことではないわ。 だが、人間生きていれば、Webスクレイピングをしなければいけない場面くらいある。 そう、今回はそういう場面なのだ。 Webスクレイピングとは? プログラムで、WebページのHTMLを取得し、解析して、必要なデータだけを抽出することを指す用語。 ウェブスクレイピング(Wikipedia) 例えば、Amazonなどの通信販売系のWebサイトにスクレイピングをかけると、少年漫画の新刊情報だけ抽出できたりするのだ。 だが、プログラムが自動的に、必要なデータだけを抽出するということは、広告やら何やら余計な情報が表示されない。という意味になる。 Webサイトを開いている個人はともかく、営利目的である企業のWebサイトやサービスでは、そんなことをされ
どうもこんにちは、インフルエンザ明けの nakamura です。寝過ぎて腰痛めたっつーの。 以前は IDE 使ったりもしていましたが、ここ数年 PHP 書く際は Vim を使ってます。Vim に関してはまだまだ初心者から抜け出せてないんですが、PHP 用にやってる設定をいくつか紹介してみたいと思います。こんなのもやっとくと便利だよとかあれば教えて教えてー。 関数名とか補完 Vim には辞書ファイルを読み込んで補完に使える機能があります。ということで、とりあえず PHP 組み込みの関数や定数の辞書ファイルを作りましょう。 作り方は色々あると思いますが、僕はいつも以下のサイトのスクリプトを使わせてもらってます。 Vim で使用する PHP の辞書ファイルを作成するスクリプト - Memo リンク先にも書かれてますが、dict.php をダウンロードしたら以下で組み込みのクラス名、関数名、定数名
レーザー治療までしたのにくしゃみ出まくってるんですけど、いったい何なんですか。どうもこんにちは nakamura です。 PHP-5.3.x 系もだいぶ浸透してきた今日この頃ですが、今日はここ最近新規にウェブサーバを立てる際にいつもデフォルトでやっている PHP 周りの設定をまとめてみました(よくよく考えたら PHP-5.3.x 系とかあんまり関係ないけど)。環境は CentOS 5 or 6 の PHP-5.3.x です。remi リポジトリを使って最新版の PHP を入れてます。 /etc/php/php.ini 毎回さわっているのは大体この辺ですね。他はサイトの仕様にあわせて適宜。 [PHP] expose_php = Off [Date] date.timezone = Asia/Tokyo セッションの保存先を memcached に セッションの保存先はデフォルトで memca
自分は2001年ぐらいから、FreeMindというマインドマップ作成ツールの愛用ユーザーなのですが、MacOSだとスクロールがうまく動かないという不具合があります。ある程度使うとブルブル震えてはもとに戻るという悲しい挙動をします。 修正方法ですが、 Finder > アプリケーション > FreeMind.app の項目を選択して、右クリックから「パッケージの内容を表示」を選択後、 Contents > Info.plist をVimやVSCodeなどのエディタで開いて、 /Applications/FreeMind.app/Contents/Info.plist <key>JVMRuntime</key> <string>jdk1.7.0_45.jdk</string> 以上2行を削除して保存します。 これでMacOSでも、問題なくスクロールできるようになります。MacOSXでFreeM
Welcome to Imagine’s documentation! ? Imagine, image manipulations reloaded PHPでの画像処理が楽々かつコードも綺麗に書けるPHP5.3用以降用ライブラリ「Imagine」 クラスはネームスペースで分けられて作られており、PHP5.3以降で利用可能。 サムネイル作成や切り取り、図形描画などのよく使われる処理をオブジェクト指向できれいに、あとで見ても分かりやすい状態でコードが書けます。 コード例は次のような感じで、メソッドチェーンを利用して直感的なコードが実現できているのがわかります。 こうしたものでネームスペースを使ったものって無かったので、ネームスペースちゃんとやりたい方にはよさそうですね。 関連エントリ 画像の縮小やトリミングに便利なPHPクラスライブラリ「Zebra_Image」 TwitterやFacebo
PHPのアカウント管理ライブラリ、phpUserClassを使ってみた 2009.10.14 php php, phpUserClass, セッション管理, ログイン どうも、うしねずみです。 PHPのアカウント管理やログイン、ログオフ管理に便利なライブラリのphpUserClassというものを使ってみました。 こちらでダウンロードできます。 http://phpuserclass.com/ PHPとMySQLを使って、アカウントの作成、アクティベーション、ログイン処理、ログアウト処理などアカウント管理に関することが簡単にできるようになっています。access.class.phpというファイルの中に一つだけクラスが定義されていて、このクラスのメンバ関数を使ってログイン、ログアウトなど、いろんな処理をします。関数名も分かりやすくつけられているので、使い方が分からなくなることもあまりないかも。
Webtatic has now ended support for PHP 5.5, and suggests either: Upgrade RHEL/CentOS to 7.2, so that you can install php 5.4.16, which is still supported by those distributions. Upgrade PHP to the one of the latest available versions, which Webtatic supplies PHP 5.6 for EL6/EL7 and PHP 7.0 for EL6/EL7 Webtatic operates as a free service. Any help contributing to it's maintenance costs would be app
(2013/10/09追記) PHP開発環境を構築するサンプル Vagrantfile をアップしました。 PHP開発環境のサンプルVagrantfile 第7回関西PHP勉強会で発表した下記の内容をベースに、より実践的な内容を追加しました。 PHPシステムの開発環境をVagrantで作ることを題材に、基本的な流れをお話しました。 ポイントは、プロビジョニングにシェルを使う部分と、やはり synced_folder ですね。AWS上にも同じ環境を構築できる部分ももう少し深くお話したかったのですが、時間が足りませんでした>< また、Vagrantfile があるディレクトリ(vagrant upしたカレントディレクトリ)も synced_folder となっていて、仮想マシンでは /vagrant としてアクセスできるということも知っておくと便利です。これを利用するとChefのtemplat
1.DBALを使えるようにする 今回はComposerに依存管理をお願いしてDoctrineを準備してもらいます。 なので、まずはComposerを準備します。 Composer準備
簡単に実行できる、ベンダーやフレームワークへの依存の少ないPHPのマイグレーションツール (READMEから意訳 ここに書いてあるメモは全部READMEに書いてある 後々確実にお世話になるので今のうちに軽く触れてめもめも 参考 PHPで使えるDBマイグレーションツール phpmig - エンジニアきまぐれTips https://github.com/davedevelopment/phpmig インストールから初期化まで PEARかcomposerを利用してphpmigをインストール composerでのインストールがベストらしい composerでインストール プロジェクト用にローカライズされたphpmigが利用できるようになる(直訳 $ cd /path/to/project $ echo <<EOT > composer.json { "require": { "php": ">=
HTMLタグが出力されていない¶ 現在のblogアプリケーションをブラウザで表示してHTMLソースを見てみると、<html> タグが正しく出力されていないことに気づきます。 各テンプレートファイルに直接 <html> や <body> タグを記述しても良いのですが、 Twigの 継承 機能を使えば、すべてのテンプレートファイルの結果に対して簡単に <html> タグを追加することができます。 テンプレートの継承¶ 多くの場合、アプリケーションのテンプレートには、ヘッダやフッタ、サイドバーなどの共通要素が含まれています。 一般的なテンプレートエンジンでは、それらの共通要素を別ファイルに小分けにして include するような機構が用意されています。 Twigにも別ファイルのテンプレートを include する仕組みはありますが、 Twigではテンプレートの継承という別の方法で解決することが多
またまたPHPマイクロフレームワーク「Slim」ネタで。 SlimではデフォルトではPHPテンプレートエンジンは利用せずにHTMLに直接PHPを記述することでビューを実装します。 <html> <head> <title>仮面ライダーフォーゼ</title> </head> <body> <?php echo $kamen; ?> </body> </html> Slimはシンプルであることがウリの一つなのでテンプレートエンジンは不要。もしくは 利用者好きなものを使えば良いと考えているのでしょうか。 ある程度の画面数のサイトを作るとき(その時Slimを選択するかは別の判断とする)は共通部分をまとめたり 色々したくなるので、テンプレートエンジンも使えたら良いッスな。 Slimの開発者のgithubを覗いてみると様々なテンプレートエンジンを利用するためのカスタムビューが すでに開発されていまし
最近slimを使う機会がありそうなのでphpのマイクロフレームワークであるslimを基礎から触った。 まずはインストールしてslimとtwigで連携するところまで行う。 composerからのslimのインストール $ curl -s http://getcomposer.org/installer | php $ vi composer.json { "require": { "slim/slim": "2.*", "slim/extras": "2.0.*", "twig/twig": "1.*" } } $ php composer.phar installindex.phpの作成 $ mkdir web $ vi web/index.php <?php require '../vendor/autoload.php'; use Slim\Slim; use Slim\Extras\
Packagist is the main Composer repository. It aggregates public PHP packages installable with Composer. Define Your Dependencies Put a file named composer.json at the root of your project, containing your project dependencies: { "require": { "vendor/package": "1.3.2", "vendor/package2": "1.*", "vendor/package3": "^2.0.3" } } For more information about packages versions usage, see the composer docu
A simple deployment tool Altax is a simple deployment tool running SSH in parallel. The features are the following. Written in PHP. Implemented as SSH command wrapper. If you use compiled package. It runs in single PHP file. Altax is strongly inspired by Capistrano and Cinamon. But these don’t allow you to write a deployment task in PHP. Altax is different. The following code is example to declare
php-activerecord is an open source ORM library based on the ActiveRecord pattern. It aims to massively simplify the interactions with your database and eliminate the chore of hand written SQL for common operations. Unlike other ORMs, you do not need to use any code generators nor maintain mapping files for your tables. This library was inspired by Ruby on Rails' implementation and therefore borrow
Writing mainly about WEB Development. WEB開発とその周辺のメモを書いていきます。 RSS Blog Archives SlimはSinatraに影響を受けたPHPのマイクロフレームワークです。マイクロフレームワークがじわじわ流行っていると聞いて試しに触って見ることにしました。 環境 Mac OS X 10.7.4 PHP 5.3.10 参考資料 Slim Framework Documentation codeguy/Slim 導入 Composerでインストールできます。ちなみにPHP >= 5.3.0じゃないと動かないようです(少なくともSlim 2系は)。 % cd path/to/project % curl -s https://getcomposer.org/installer | php composer.jsonを作成します。 { "
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く