[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

php_extに関するsotarokのブックマーク (33)

  • PHP Extensionのスタブ生成ツール「PHPH」を作った - よしだ’s diary

    PHPファイルからPHP Extensionの雛形を生成するツール「PHPH」を作った。 CodeGen_PECLは、 ・実装するクラスのプロトタイプを、CodeGen_PECLの形式に沿ったXMLで作成。 ・メソッドの中身をXMLファイル内で実装。 ・PHP Extensionソースに変換。 PHPHは、 ・実装するクラスのプロトタイプを、PHPファイルで作成。 ・PHP Extensionソースに変換。 ・メソッドの中身をCファイル内で実装。 PHPH \ パッケージ \ Openpear http://openpear.org/package/PHPH (ここだけの話、CodeGen_PECLがあんまり好きじゃなく) 以下、現在最新のドキュメント。 PHPH - Cヘッダとスタブファイルジェネレータ phphは、PHPファイルからPHP Extension用のCヘッダファイルとCソー

    PHP Extensionのスタブ生成ツール「PHPH」を作った - よしだ’s diary
  • 我慢強い人のためのpeclでsession_handlerを作る。 - お前の血は何色だ!! 4

    session_handler作ってますか? セッションをファイル以外に格納するとき使いますね。 例えば、セッションをデータベースとか、KVS等のセッションを格納するときとか。 ほとんどの場合は phpsession_handlerをシコシコ作っていると思います。 が、phpでセッションハンドラーを作ると、パフォーマンス的にあれだったり、毎回作るのがめんどかったり、もっと高度なことをしたくなったりするヂャないですか。 Yes/Y それだったら、 pecl な PHP拡張として、C言語で書くしかないですよね。 pecl なセッションハンドラに対応している pecl 拡張の場合、、、 session.save_handler を定義してあげることで、簡単に導入できます。 //tokyo tyrant にセッションストアをしたい時、、、 ini_set('session.save_hand

    我慢強い人のためのpeclでsession_handlerを作る。 - お前の血は何色だ!! 4
  • 超現実いもすの日記 - PECLを作る

    PHPだけだとやはり遅かったり重かったりする処理があるのでPHPにC言語を組み込んで良いように使ってみようという試み.というわけで,PECLを作ってみたくなったので作ってみましょう.今回はCodegenやらそういう高機能な物は使わず(というよりか使い方をまだわからないので),ソースをダウンロードした時にext内に入っているext_skelスクリプトを使ったPECLの作成方法をば.ただ,どちらにしろ情報が少ないのであらぬことを言っていたりすることも多々あるかもなので参考までに. 基礎編 ダウンロードからphpizeまで まずPHPのソースコードをダウンロードしてきます.その中のextの下にext_skelスクリプトがあるので以下のように実行してください.(今回はiwordというPECLを作るのでiwordと書かれた部分は作りたいextension名にしてくださいね.)

  • Hello, World! するだけの PHP Extension を作る | Born Too Late

    来月開催される ZendEngine勉強会@東京に向けて, 少しでも予習しておこうと思い, 以下のページを参考にやってみました. PHP Extension を作ろう第1回 - まずは Hello World DSAS開発者の部屋 しかし, この記事そのままのやり方では上手くいきませんでした. 書かれたのが 2006 年ということもあり, 一部情報が古くなっている部分があるようです. そこで, 上記の記事を参考にしつつ, 調べてまとめてみました. 0. 前提とする環境 私は以下の環境で検証を行いました. LAMP 環境は tasksel コマンドで構築したものです. $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=10.10 DISTRIB_CODENAME=maverick DISTRIB_DESCRIPTION="Ubu

    Hello, World! するだけの PHP Extension を作る | Born Too Late
  • PHP/ext - YoyaWiki

    定義 (php_swfed.h)† クラスエントリ作成 static zend_class_entry *swfeditor_ce; クラスメソッド定義 PHP_METHOD(swfed, __construct); PHP_METHOD(swfed, input); ↑ 実装 (swfed.c)† ファンクションエントリ作成 zend_function_entry swfed_functions[]= { <略> PHP_ME(swfed, __construct, NULL, 0) モジュール初期化でクラス設定 PHP_MINIT_FUNCTION(swfed) <略> zend_class_entry ce; INIT_CLASS_ENTRY(ce, "SWFEditor", swfed_functions); swfeditor_ce = zend_register_interna

  • opendogs.org - このウェブサイトは販売用です! - opendogs リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

    sotarok
    sotarok 2010/06/20
    おお?
  • Writing PHP Extensions - PHP Quebec 2009 | PDF | Php | Pear

    "Writing PHP Extensions" slides from PHP Quebec 2009 Don't just drive your favorite language, reach under the hood and tune her till she sings. This quick sprint marathon is not for the f…

    Writing PHP Extensions - PHP Quebec 2009 | PDF | Php | Pear
    sotarok
    sotarok 2010/04/27
    拡張機能作成
  • SWF Editor for PHP - Yoya Wiki

    課題† configure で gif, png 取りこめない場合の警告を分かり易くする 安定化 (php binding の見直し含め) 高速化 (はしょれる処理がありそう) コード整理 (冗長になってる) ↑ 確認予定† getPNGData メソッドで透明度付きPNG の動作が未確認。tRNS は対応済みだが RGBA 形式の処理は未確認。 replaceJPEGData で alpha データを指定した時の挙動があやしい。(JPEG は premultiplied されてないとダメかも) getPNGData で抽出した画像のガンマ値が高いように見える。(オリジナルより白っぽい) ↑

  • PECL JSON のソースコードを読んでみる: 導入 〜 json_encode, zval, smart_str 編 - やこ〜ん SuperNova2

    Msgpack の PECL(The PHP Extension Community Library) 実装*1を作るに当たって、とりあえず PECL な拡張モジュールの実装がどんなものかをざっと見てみようかと思う。当ならば、拡張モジュール開発者向けの公式の資料などを見るべきなのだろうが、ちょっとググっただけでは日語資料は無いようであるし、いい機会なので他人のソースコードを眺めてみるとする。 ちなみに、筆者は Zend Engine についてや C 言語についてはあまり経験や知識もない上、Zend API などの仕様書をろくに読まずに*2エントリを書いているため、エントリの内容が勘違いを含んでいる可能性は低くないことに留意してほしい。 内容 ソースコードの入手 string json_encode(mixed data) の概要 json_encode の正体 いろいろな中身の zva

    PECL JSON のソースコードを読んでみる: 導入 〜 json_encode, zval, smart_str 編 - やこ〜ん SuperNova2
  • 第2回 Hello, PHP Extension! | gihyo.jp

    今回から実際に拡張モジュールを作っていきます。まずは定番の“⁠Hello, World!⁠”から始めましょう。 はじめてのspecファイル CodeGen_PECLを使った拡張モジュールの開発には、まずXML形式で仕様を記述したspecファイルを書かねばなりません。リスト1に基的なspecファイルの内容を示します。 リスト1 helloworld.xml <?xml version="1.0" encoding="UTF-8"?> <extension name="helloworld" version="1.0.0"> <summary>Hello, Extension World!</summary> <description><?data This is my first PHP extension module. ?></description> <maintainers> <m

    第2回 Hello, PHP Extension! | gihyo.jp
    sotarok
    sotarok 2009/08/29
    TSRM について.コンマまで含めてマクロになってる. TRSMLS_CC, TRSMLS_DC は定義側呼び出し側で対.
  • PHP拡張モジュールでクラス定義 - カイハツニッキ(2008-01-31)

    [AD] GREEエンジニア募集 GREEで一緒にはたらきましょー(ほんとに)。応募はこちらから! diary.eth.jp トップページ RSS 更新状況 最近の見出し _ [ソフトウェア] PHP拡張モジュールでクラス定義 やっぱりphp5のextensionならクラス定義しなきゃ!ということで昨晩はそのあたりのコードをつらつら眺めていました(sara、前オフィスにあったのになー)。 ということで今日から始めるクラス定義のしかた、です。まずはMINIT_FUNCTIONでZend Engineのクラステーブルに自分のクラスを登録します(fooという拡張モジュールにbarというクラスを定義してみます)。 static zend_class_entry *php_bar_ce; static zend_object_handlers php_bar_object_handlers; PH

  • PHP Extension を作ろう第3回 - クラスを作ろう : DSAS開発者の部屋

    今回は PHP Extension でクラスを実装する方法を紹介します。 クラスと言えばオブジェクト指向によるプログラミングに欠かせないシステムであり、PHP にももちろんこの仕組みが用意されていることはご存じかと思います。 クラスを実装するにあたり、インスタンス、プロパティ、メソッドなどと言ったキーワードが登場してきますが、これらをどの様にして PHP Extension で実装していくかを見ていきましょう。 最初は PHP4 と PHP5 での PHP Extension の実装方法の違いなども紹介していくつもりだったのですが、PHP4 と PHP5 でクラスに関する仕様が大きく変わっており PHP Extension の実装方法もまた大きく異なっていることを知りました。残念ながら今回は PHP5 での実装方法に限定させた頂きます。 クラス設計 まず最初に今回どの様なクラスを作成するか

    PHP Extension を作ろう第3回 - クラスを作ろう : DSAS開発者の部屋
  • PHP Extension を作ろう第2回 - 引数と返値 : DSAS開発者の部屋

    前回の Hello World のサンプルプログラムで一通りの PHP Extension の作成手順を見てきました。しかし helloworld() の様に引数も返値も無い関数だけではプログラミング言語として不便ですので今回は PHPPHP Extension におけるデータタイプの詳細と引数、返値の渡し方について見ていきましょう。 PHP のコードから C言語で書かれたコードへとデータをやり取りする上で「型」についての疑問が浮かび上がります。動的形付けされた PHP の変数を静的に形付けされた C言語で扱うにはどうしたらよいのでしょうか。 まずは、PHP 内部でのデータ表現を知るために PHP のソースを覗いて見ましょう。 php-x.x.x/Zend/zend.h より typedef union _zvalue_value { long lval; /* long value

    PHP Extension を作ろう第2回 - 引数と返値 : DSAS開発者の部屋
  • PHP Extension を作ろう第1回 - まずは Hello World : DSAS開発者の部屋

    PHP で汎用的なライブラリを作成するフレームワークには大きく分けて2種類あるようです。 ひとつは PEAR のように PHP でクラスライブラリを作る方法、もう一つが今回紹介する PECL の様に PHP 自体を拡張するモジュールを書く方法です。 なぜ PHP Extension ? ひとつは、過去に C で書かれた既存のライブラリを流用したい場合に PHP Extension を作成すれば自然に PHP のコードに結合することが出来ます。また、PEAR の様に PHP で書いたコードと比べると若干高速になります。 それでは実際に helloworld という名前の PHP Extension を作成してみましょう。PHP のソースを展開すると php-x.x.x/ext というディレクトリがありますので $ cd php-x.x.x/ext $ ./ext_skel --extname

    PHP Extension を作ろう第1回 - まずは Hello World : DSAS開発者の部屋
  • Page2

    LinkTree - HOME http://sadako.nobody.jp/ http://monodebank.nobody.jp/ http://okichi.xxxxxxxx.jp/ http://utaneko.gozaru.jp/ http://urananaon.atukan.com/ LinkTree -

  • GREE Engineering

    404 お探しのページは見つかりません GREE Engineering トップへ戻る

    GREE Engineering
  • Home

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    Home
    sotarok
    sotarok 2008/07/30
    Boost.PHP moriyoshiさん
  • http://diary.eth.jp/?date=20080721

    sotarok
    sotarok 2008/07/23
    tokyo dystopia拡張
  • ffmpeg-php

    SourceForge project page:http://sourceforge.net/projects/ffmpeg-php/ Google ffmpeg-php discussion group:http://groups.google.com/group/ffmpeg-php Downloads:http://sourceforge.net/project/showfiles.php?group_id=122353&package_id=133626 Documentation:API Docs Browse SVN:http://ffmpeg-php.svn.sourceforge.net/viewvc/ffmpeg-php/ Anonymous SVN: svn co https://ffmpeg-php.svn.sourceforge.net/svnroot/ffmpe

    sotarok
    sotarok 2008/05/18
    ffmpeg-php is an extension for PHP that adds an easy to use, object-oriented API for accessing and retrieving information from video and audio files.
  • PHPでTokyo Cabinetハッシュデータベースサーバを作ってみた - 讃容日記

    Tokyo Cabinetのデータベースは書き込みモードで開くと排他ロックがかかるので、Apache2 (prefork)+mod_phpCGIのようなリクエストごとにPHPのプロセスが分かれているWebアプリケーションでTokyo Cabinetを読み書き両用で使うのは苦しいものがあります。(コードの書き方を工夫すればロックの影響を小さくできる場合もあります) そこで、PHPでHTTPベースのハッシュデータベースサーバを作ってみました。このサーバはPHP 5.2、tokyocabinet拡張モジュール、PECLのhttp拡張モジュールを使います。ソケットの操作にはPHP組み込みのストリーム関数を用い、sockets拡張モジュールは使いません。 <?php class TCHDBServer { static private $statuses = array( 100 => 'Cont

    PHPでTokyo Cabinetハッシュデータベースサーバを作ってみた - 讃容日記