Rumah  >  Soal Jawab  >  teks badan

Sahkan bahawa pembolehubah statik PHP tidak berterusan merentas permintaan

Saya sedang mencari jaminan bahawa pembolehubah statik tidak disimpan antara permintaan PHP. Berikut adalah soalan sebelum ini:

PHP pembolehubah statik merentas berbilang halaman .php

Adakah pembolehubah statik dalam php berterusan merentas permintaan?

Pembolehubah statik merentas sesi

Untuk menjadi jelas mereka tidak, tetapi mereka lebih kepada menyediakan cara untuk mengekalkan keadaan daripada perbincangan konkrit tentang tingkah laku yang diharapkan.

Sebagai contoh, jika kod PHP saya adalah seperti berikut:

function myfunc()
{
    static $a=0;
    print $a++;
}

for ($i=0;$i<10;$i++) myfunc();

Kemudian setiap kali saya menjalankannya saya mendapat output 0123456789. Intuisi/pemahaman saya tentang PHP membuatkan saya agak pasti bahawa ini mesti berlaku.

Dalam eksperimen saya sendiri, saya menutup apache (pra-bercabang) ke dalam proses kanak-kanak untuk memastikan pembolehubah itu tidak diingati antara permintaan. Seperti yang saya jangkakan, ia tidak diingati antara permintaan. Tetapi ini hanyalah satu senario di mana PHP berjalan.

Apa yang saya cari ialah:

Pautan ke dokumentasi rasmi yang mengatakan ini adalah tingkah laku yang dijangka dan tidak akan berubah. Bahagian dokumentasi PHP yang berkaitan tidak menyebut perkara ini secara eksplisit (kecuali dalam ulasan).

Sebagai alternatif, apabila pembolehubah statik diingati merentas permintaan (seperti pelayan web atau rangka kerja PHP yang meningkatkan prestasi), ia mungkin tidak mengosongkan pembolehubah statik untuk meningkatkan kelajuan antara permintaan.

P粉567281015P粉567281015376 hari yang lalu744

membalas semua(1)saya akan balas

  • P粉654894952

    P粉6548949522023-10-31 00:02:00

    PHP tidak mengekalkan keadaan permohonan antara permintaan. Semasa kitaran hayat aplikasi PHP, aplikasi itu dilaksanakan semula pada setiap permintaan. Pembolehubah statik direka bentuk untuk mengekalkan nilai pembolehubah dalam skop fungsi setempat apabila pelaksanaan meninggalkan skop. Tiada mana-mana dalam dokumentasi yang menyebut bahawa pembolehubah statik bertujuan untuk mengekalkan nilai merentas permintaan.

    balas
    0
  • Batalbalas