ถ้าเรามีตัวแปรจำนวนมากอยู่ในหน้าเดียวแต่ไม่ได้ใช้ทุกตัว มีวิธีที่ไม่ต้องโหลดทุกต

เริ่มโดย hurahura, 24 ธันวาคม 2015, 18:31:07

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

hurahura

สมมุติผมมีตัวแปร ประมาณนี้ แต่มีเป็นหลายร้อยตัวไว้กำหนดค่าต่างๆในเว็บ


$chat_mode = "ajax";
$chat_firstlist = 8;
$chat_permit = "memberonly"
$chat_color = "black";
$chat_speed = 3;
$chat_style = "line";
$chat_lang = "thai";
$chat_online = "show";
$chat_memolgo = "hide";
.
.
.

$board_hot = 30;
$board_new = 3
$board_viewnum = 80;
$board_sort = "desc";
$board_pin = 8;
$board_theme = "dark-modern";
$board_permit_post = "memberonly";
$board_permit_view = "all";
$board_emo = "onion,monkey";
.
.
.

$menu_style = "slide";
$menu_size = "small";
.
.
.





ผมอยากให้เวลาจะแก้ไขปรับแต่งอะไรมันทำได้สะดวกเลยเอามารวมในหน้าเดียวเป็นหน้า config.php ซึ่งหน้านี้จะถูก include ไปในทุกๆหน้า

แต่ปัญหาคือในแต่ละหน้ามันไม่ได้ใช้ตัวแปรทุกตัวมันใช้แค่บางส่วน อย่างหน้า chatroom ก็จะใช้ตัวแปรแค่ในกลุ่มของของ $chat_xxx แต่กลับต้องโหลดค่าตัวแปรอื่นๆทั้งหมดไปเก็บใน ram ด้วยทุกทุกครั้งที่เปิดแต่ละหน้า

อยากทราบว่าคนอื่นใช้วิธีไหนแก้ไขปัญหานี้ครับ



SpiderManKing

ใช้ return array ครับ

//file config
<?php
return array(
  'appname' => 'My Application Name',
  'database' => array(
    'type' => 'mysql',
    'host' => 'localhost',
    'user' => 'root',
    'pass' => 'none',
    'db' => 'mydb',
  ),
);
?>

<?php $config = (require 'config.php');

หรือไม่ก็เก็บแบบ JSON

//file config
{
    table1: {
        id: {
            type:"int",
            autoincrement:true
        },
        some_field: {
            type:"string",
        }
    },
    table2: { // etc
    }
}


$config = json_decode(file_get_contents('config'), true);

xvlnw.com

ถ้าการตั้งค่า มันแยกกันอยู่แล้ว ถ้าเป็นผม คงสร้างไฟล์หลายๆไฟล์เอา น่าจะสะดวกสุดละครับ
[direct=https://cloudhost.in.th/wordpress-hosting]ツ ⓌⓄⓇⒹⓅⓇⒺⓈⓈ ⒽⓄⓈⓉⒾⓃⒼ [/direct] :wanwan014:  :D
[direct=https://cloudhost.in.th/cloudhosting.html]Cloud Hosting[/direct] [direct=https://cloudhost.in.th/cloudvps.html]Cloud Server[/direct] [direct=https://cloudhost.in.th/vpshosting.html]Cloud VPS Hosting[/direct] [direct=https://cloudhost.in.th/windowsvps.html]Cloud Windows[/direct] Tel: 080-348-0843 LINE: ixvlnw


kingofdollars

แทบจะไม่มีผลอะไรเลยครับ

เปรียบเทียบง่ายๆ  การ assign ค่า

x=1   ใช้ 1  clock cycle

1000 ค่า เท่ากับ 1000 clock cycles

เครื่องเร็ว 1KHz ใช้เวลา 1 วิ
เครื่องเร็ว 1 MHz ใช้เวลา 0.001 วินาที

จะไปกังวลอะไรเล่าครับ
โหลดไฟล์จาก server เข้าเม็มโมรี่ ยังนานกว่าโฟลด ตัวแปร 1 ล้านตัวเข้าเม็มอีกครับ

joei

ไม่ต้องทำอะไรครับ ไม่ได้เปลืองแต่อย่างใดครับ ผมยกตัวอย่างเช่น คุณมี 1,000 ตัวแปร แต่ละตัวใช้พื้นที่หน่วยความจำประมาณ 150 ไบต์ แสดงว่าตัวแปรทั้งหมดใช้หน่วยความจำ 146kb ซึ่งถือว่าน้อยมากครับ

สำหรับ CPU Process นั้น ก็ต่ำมาก เพราะว่าการ Assign ค่านั้นกินรอบของ CPU แค่ไม่กี่รอบเท่านั้นเอง กับ CPU ระดับ GHz นั้นทำงานที่ประมาณพ้นล้านรอบต่อวินาที ไม่สะเทือนหรอกครับ

อ้างถึงจาก: hurahura ใน 24 ธันวาคม 2015, 18:31:07
สมมุติผมมีตัวแปร ประมาณนี้ แต่มีเป็นหลายร้อยตัวไว้กำหนดค่าต่างๆในเว็บ


$chat_mode = "ajax";
$chat_firstlist = 8;
$chat_permit = "memberonly"
$chat_color = "black";
$chat_speed = 3;
$chat_style = "line";
$chat_lang = "thai";
$chat_online = "show";
$chat_memolgo = "hide";
.
.
.

$board_hot = 30;
$board_new = 3
$board_viewnum = 80;
$board_sort = "desc";
$board_pin = 8;
$board_theme = "dark-modern";
$board_permit_post = "memberonly";
$board_permit_view = "all";
$board_emo = "onion,monkey";
.
.
.

$menu_style = "slide";
$menu_size = "small";
.
.
.





ผมอยากให้เวลาจะแก้ไขปรับแต่งอะไรมันทำได้สะดวกเลยเอามารวมในหน้าเดียวเป็นหน้า config.php ซึ่งหน้านี้จะถูก include ไปในทุกๆหน้า

แต่ปัญหาคือในแต่ละหน้ามันไม่ได้ใช้ตัวแปรทุกตัวมันใช้แค่บางส่วน อย่างหน้า chatroom ก็จะใช้ตัวแปรแค่ในกลุ่มของของ $chat_xxx แต่กลับต้องโหลดค่าตัวแปรอื่นๆทั้งหมดไปเก็บใน ram ด้วยทุกทุกครั้งที่เปิดแต่ละหน้า

อยากทราบว่าคนอื่นใช้วิธีไหนแก้ไขปัญหานี้ครับ


[direct=http://www.newsongs2u.com]เนื้อเพลง[/direct]