PHP China | 中国开源之路 's Archiver

大白菜芯 发表于 2005-12-29 03:29

讨论一下大家使用Pear的程度

对于PHP来说,pear 可能是PHP的最好的工具箱了, 我想找几位朋友一起研究,讨论一下.大家可以把自己的使用经验发上了!!!

[[i] 本帖最后由 七月十五 于 2008-11-8 11:53 编辑 [/i]]

帅的不能再输啦 发表于 2005-12-29 09:09

很少用.

seraph 发表于 2005-12-29 09:28

还没用。。。

leslee 发表于 2005-12-29 09:47

我用里面的DB类

leslee 发表于 2005-12-29 09:47

哦,还有时用http,smtp类

xlmo 发表于 2005-12-29 09:57

我也还没用过。
想学习一下。

szy_session1987 发表于 2005-12-29 12:28

压根不用

MeteorRain 发表于 2005-12-29 16:53

不用……
DB类我喜欢用vbb的db_mysql,很好用。其他的基本都没用……

MySQL 发表于 2005-12-30 12:30

我用里面的DB类

风卷残云 发表于 2005-12-30 20:18

db.php

szy_session1987 发表于 2005-12-30 20:25

基本上不用..

编程骇客 发表于 2005-12-30 23:29

PHP Extension and Application Repository

<?php

/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */

/**
* Short description for file
*
* Long description for file (if any)...
*
* PHP versions 4 and 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* [url]http://www.php.net/license/3_0.txt.[/url]  If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to [email]license@php.net[/email] so we can mail you a copy immediately.
*
* @category   CategoryName
* @package    PackageName
* @author     Original Author <[email]author@example.com[/email]>
* @author     Another Author <[email]another@example.com[/email]>
* @copyright  1997-2005 The PHP Group
* @license    [url]http://www.php.net/license/3_0.txt[/url]  PHP License 3.0
* @version    CVS: $Id:$
* @link       [url]http://pear.php.net/package/PackageName[/url]
* @see        NetOther, Net_Sample::Net_Sample()
* @since      File available since Release 1.2.0
* @deprecated File deprecated in Release 2.0.0
*/

/**
* This is a "Docblock Comment," also known as a "docblock."  The class'
* docblock, below, contains a complete description of how to write these.
*/
require_once 'PEAR.php';

// {{{ constants

/**
* Methods return this if they succeed
*/
define('NET_SAMPLE_OK', 1);

// }}}
// {{{ GLOBALS

/**
* The number of objects created
* @global int $GLOBALS['NET_SAMPLE_Count']
*/
$GLOBALS['NET_SAMPLE_Count'] = 0;

// }}}
// {{{ Net_Sample

/**
* An example of how to write code to PEAR's standards
*
* Docblock comments start with "/**" at the top.  Notice how the "/"
* lines up with the normal indenting and the asterisks on subsequent rows
* are in line with the first asterisk.  The last line of comment text
* should be immediately followed on the next line by the closing asterisk
* and slash and then the item you are commenting on should be on the next
* line below that.  Don't add extra lines.  Please put a blank line
* between paragraphs as well as between the end of the description and
* the start of the @tags.  Wrap comments before 80 columns in order to
* ease readability for a wide variety of users.
*
* Docblocks can only be used for programming constructs which allow them
* (classes, properties, methods, defines, includes, globals).  See the
* phpDocumentor documentation for more information.
* [url]http://phpdoc.org/docs/HTMLSmartyConverter/default/phpDocumentor/tutorial_phpDocumentor.howto.pkg.html[/url]
*
* The Javadoc Style Guide is an excellent resource for figuring out
* how to say what needs to be said in docblock comments.  Much of what is
* written here is a summary of what is found there, though there are some
* cases where what's said here overrides what is said there.
* [url]http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#styleguide[/url]
*
* The first line of any docblock is the summary.  Make them one short
* sentence, without a period at the end.  Summaries for classes, properties
* and constants should omit the subject and simply state the object,
* because they are describing things rather than actions or behaviors.
*
* Below are the tags commonly used for classes. @category through @access
* are required.  The remainder should only be used when necessary.
* Please use them in the order they appear here.  phpDocumentor has
* several other tags available, feel free to use them.
*
* @category   CategoryName
* @package    PackageName
* @author     Original Author <[email]author@example.com[/email]>
* @author     Another Author <[email]another@example.com[/email]>
* @copyright  1997-2005 The PHP Group
* @license    [url]http://www.php.net/license/3_0.txt[/url]  PHP License 3.0
* @version    Release: @package_version@
* @link       [url]http://pear.php.net/package/PackageName[/url]
* @see        NetOther, Net_Sample::Net_Sample()
* @since      Class available since Release 1.2.0
* @deprecated Class deprecated in Release 2.0.0
*/
class Net_Sample
{
    // {{{ properties

    /**
     * The status of foo's universe
     *
     * Potential values are 'good', 'fair', 'poor' and 'unknown'.
     *
     * @var string
     */
    var $foo = 'unknown';

    /**
     * The status of life
     *
     * Note that names of private properties or methods must be
     * preceeded by an underscore.
     *
     * @var bool
     * @access private
     */
    var $_good = true;

    // }}}
    // {{{ setFoo()

    /**
     * Registers the status of foo's universe
     *
     * Summaries for methods should use 3rd person declarative rather
     * than 2nd person imperative, begining with a verb phrase.
     *
     * Summaries should add description beyond the method's name. The
     * best method names are "self-documenting", meaning they tell you
     * basically what the method does.  If the summary merely repeats
     * the method name in sentence form, it is not providing more
     * information.
     *
     * Summary Examples:
     *   + Sets the label              (preferred)
     *   + Set the label               (avoid)
     *   + This method sets the label  (avoid)
     *
     * Below are the tags commonly used for methods.  A @param tag is
     * required for each parameter the method has.  The @return and
     * @access tags are mandatory.  The @throws tag is required if the
     * method uses exceptions.  @static is required if the method can
     * be called statically.  The remainder should only be used when
     * necessary.  Please use them in the order they appear here.
     * phpDocumentor has several other tags available, feel free to use
     * them.
     *
     * The @param tag contains the data type, then the parameter's
     * name, followed by a description.  By convention, the first noun in
     * the description is the data type of the parameter.  Articles like
     * "a", "an", and  "the" can precede the noun.  The descriptions
     * should start with a phrase.  If further description is necessary,
     * follow with sentences.  Having two spaces between the name and the
     * description aids readability.
     *
     * When writing a phrase, do not capitalize and do not end with a
     * period:
     *   + the string to be tested
     *
     * When writing a phrase followed by a sentence, do not capitalize the
     * phrase, but end it with a period to distinguish it from the start
     * of the next sentence:
     *   + the string to be tested. Must use UTF-8 encoding.
     *
     * Return tags should contain the data type then a description of
     * the data returned.  The data type can be any of PHP's data types
     * (int, float, bool, string, array, object, resource, mixed)
     * and should contain the type primarily returned.  For example, if
     * a method returns an object when things work correctly but false
     * when an error happens, say 'object' rather than 'mixed.'  Use
     * 'void' if nothing is returned.
     *
     * Here's an example of how to format examples:
     * <code>
     * require_once 'Net/Sample.php';
     *
     * $s = new Net_Sample();
     * if (PEAR::isError($s)) {
     *     echo $s->getMessage() . "\n";
     * }
     * </code>
     *
     * Here is an example for non-php example or sample:
     * <samp>
     * pear install net_sample
     * </samp>
     *
     * @param string $arg1  the string to quote
     * @param int    $arg2  an integer of how many problems happened.
     *                       Indent to the description's starting point
     *                       for long ones.
     *
     * @return int  the integer of the set mode used. FALSE if foo
     *               foo could not be set.
     * @throws exceptionclass  [description]
     *
     * @access public
     * @static
     * @see Net_Sample::$foo, Net_Other::someMethod()
     * @since Method available since Release 1.2.0
     * @deprecated Method deprecated in Release 2.0.0
     */
    function setFoo($arg1, $arg2 = 0)
    {
        /*
         * This is a "Block Comment."  The format is the same as
         * Docblock Comments except there is only one asterisk at the
         * top.  phpDocumentor doesn't parse these.
         */
        if ($arg1 == 'good' || $arg1 == 'fair') {
            $this->foo = $arg1;
            return 1;
        } elseif ($arg1 == 'poor' && $arg2 > 1) {
            $this->foo = 'poor';
            return 2;
        } else {
            return false;
        }
    }

    // }}}
}

// }}}

/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* c-hanging-comment-ender-p: nil
* End:
*/

?>

编程骇客 发表于 2005-12-30 23:32

pear::DB
DB
Table of Contents
Introduction - DSN -- The Data Source Name
Introduction - Connect -- Connecting and disconnecting a database
Introduction - Query -- Performing queries
Introduction - Results -- Obtaining data from query results
Introduction - Prepare & Execute -- Prepare and execute SQL statements
Introduction - autoPrepare & autoExecute -- Automatically prepare and execute SQL statements
Introduction - Portability -- Database portability features
Introduction - Sequences -- Sequences and auto-incrementing
DB -- Main class
DB::connect() -- Connects to a database
DB::isError() -- Determines if a variable is a DB_Error object
DB_common -- Interface for database access
DB_common::affectedRows() -- Finds number of rows affected by a data changing query
DB_common::autoCommit() -- Turns auto-commit on or off
DB_common::autoExecute() --  Prepares and runs an INSERT or UPDATE query based on variables you supply
DB_common::autoPrepare() --  Prepares an INSERT or UPDATE statement based on variables you supply
DB_common::commit() -- Commits the current transaction
DB_common::createSequence() -- Creates a new sequence
DB_common::disconnect() -- Disconnects from a database
DB_common::dropSequence() -- Deletes a sequence
DB_common::escapeSimple() -- Escapes a string according to the current DBMS's standards
DB_common::execute() -- Executes a prepared SQL statment
DB_common::executeMultiple() -- Runs a prepared SQL statment for each element of an array
DB_common::freePrepared() -- Releases resources associated with a prepared SQL statement
DB_common::getAll() -- Runs a query and returns all the data as an array
DB_common::getAssoc() -- Runs a query and returns the data as an array
DB_common::getCol() -- Runs a query and returns the data from a single column
DB_common::getListOf() -- Views database system information
DB_common::getOne() -- Runs a query and returns the first column of the first row
DB_common::getOption() --  Determines current state of a PEAR DB configuration option
DB_common::getRow() -- Runs a query and returns the first row
DB_common::limitQuery() -- Sends a LIMIT query to the database
DB_common::nextId() -- Returns the next number from a sequence
DB_common::prepare() -- Prepares a SQL statement for later execution
DB_common::provides() -- Checks if the DBMS supports a particular feature
DB_common::query() -- Sends a query to the database
DB_common::quote() -- DEPRECATED: Quotes a string
DB_common::quoteIdentifier() -- Formats a string so it can be safely used as an identifier
DB_common::quoteSmart() -- Formats input so it can be safely used as a literal
DB_common::rollback() -- Rolls back the current transaction
DB_common::setFetchMode() -- Sets the default fetch mode
DB_common::setOption() -- Sets run-time configuration options for PEAR DB
DB_common::tableInfo() -- Gets info about columns in a table or a query result
DB_result -- DB result set
DB_result::fetchInto() -- Fetches a row of a result set into a variable
DB_result::fetchRow() -- Fetches a row from a result set
DB_result::free() -- Releases a result set
DB_result::nextResult() -- Gets result sets from multiple queries
DB_result::numCols() -- Gets number of columns in a result set
DB_result::numRows() -- Gets number of rows in a result set
DB_Error -- DB Error object

szy_session1987 发表于 2005-12-30 23:37

晕你发的是什么啊?

放弃思考 发表于 2005-12-31 15:49

很想用,但看着e文头大,只好作罢

Haohappy 发表于 2005-12-31 19:26

推荐大家多用PEAR,可以大大加快开发速度。

我常用的PEAR类库大概有:
Benchmark
Cache_Lite
DB
DB_DataObject
HTTP_Request
HTTP_Client
HTML_QuickForm
LiveUser
Net_POP3
Text_CAPTCHA
PHPDoc
PHP_Beautifier
Mail
Mail_Mime
Text_Password

surFan 发表于 2005-12-31 19:50

不知道是干什么的,没有用过。

salty8338 发表于 2006-1-1 18:32

根本就没有用过

帅的不能再输啦 发表于 2006-1-3 11:09

,.

基本上都在用里边的DB...

长空 发表于 2006-1-4 00:34

大家找时间多研究PEAR吧,

相信对大家或多或少的都有用.我保证

页: [1] 2 3 4

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.