这怎么行,
我需要类似asp的vapplication那样的对象来保存一些全局参数

解决方案 »

  1.   

    没有application级变量,所以计数是个麻烦的事。我也郁闷过一阵
      

  2.   

    有 全局变量啊 
    $GLOBALS<?php
    $a = 1;
    $b = 2;function Sum()
    {
        global $a, $b;    $b = $a + $b;
    }Sum();
    echo $b;
    ?>
      

  3.   

    application 是把变量值存在服务器内存中,所有页面都可共享,
    而你们所说的global只是同一页面代码可共享,
      

  4.   

    可在每个页面中包含个常量文件
    里面用GLOBALS定义变量,这样就可以实现共享
      

  5.   

    也可以用共享内存
    在shared mem里保存值
      

  6.   

    PHP Manual 
    后退  前进 
      
     
     XCIX. Shared Memory Functions
    简介
    Shmop is an easy to use set of functions that allows PHP to read, write, create and delete Unix shared memory segments. 注: Versions of Windows previous to Windows 2000 do not support shared memory. Under Windows, Shmop will only work when PHP is running as a web server module, such as Apache or IIS (CLI and CGI will not work). 注: In PHP 4.0.3, these functions were prefixed by shm rather than shmop. 需求
    无需外部库文件就可以加入本扩展模块的支持。安装
    To use shmop you will need to compile PHP with the --enable-shmop parameter in your configure line. 运行时配置
    该扩展模块未定义任何设置指令。资源类型预定义常量
    该扩展模块未定义任何常量。例
    例子 1. Shared Memory Operations Overview<?php
       
    // Create 100 byte shared memory block with system id if 0xff3
    $shm_id = shmop_open(0xff3, "c", 0644, 100);
    if (!$shm_id) {
        echo "Couldn't create shared memory segment\n";
    }// Get shared memory block's size
    $shm_size = shmop_size($shm_id);
    echo "SHM Block Size: " . $shm_size . " has been created.\n";// Lets write a test string into shared memory
    $shm_bytes_written = shmop_write($shm_id, "my shared memory block", 0);
    if ($shm_bytes_written != strlen("my shared memory block")) {
        echo "Couldn't write the entire length of data\n";
    }// Now lets read the string back
    $my_string = shmop_read($shm_id, 0, $shm_size);
    if (!$my_string) {
        echo "Couldn't read from shared memory block\n";
    }
    echo "The data inside shared memory was: " . $my_string . "\n";//Now lets delete the block and close the shared memory segment
    if (!shmop_delete($shm_id)) {
        echo "Couldn't  shared memory block for deletion.";
    }
    shmop_close($shm_id);
       
    ?>  
     
    目录
    shmop_close -- Close shared memory block
    shmop_delete -- Delete shared memory block
    shmop_open -- Create or open shared memory block
    shmop_read -- Read data from shared memory block
    shmop_size -- Get size of shared memory block
    shmop_write -- Write data into shared memory block
       
    后退 起点 前进 
    session_write_close 上一级 shmop_close 
     
     
      

  7.   

    使用serialize()和unserialize()大概可以,下面是我的一个实现,不完善,但算法实现了。//+++++++++++++++++++++++++++
    function _awme_function_application_serialize()
    {
         global $_APP;
         $filename = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'awme_file_application_class_static_file';
         $file = fopen($filename, 'w') or die('why?');
         fwrite($file, serialize($_APP));
         fclose($file);
    }function _awme_function_application_unserialize()
    {
         $filename = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'awme_file_application_class_static_file';    return file_exists($filename) ? unserialize(file_get_contents($filename)) : array();
    }register_shutdown_function('_awme_function_application_serialize');
    $_APP = _awme_function_application_unserialize();
    //+++++++++++++++++++++++++++++++++$_APP这个全局数组内的变量可持续。
    eg.
    $_APP['count']++;//计数功能