PDA

View Full Version : memanggil fail dalam php


mnajem
16-04-03, 10:35 AM
selamat pagi semua.

skang saya tengah deal dengan satu fail yang mengandungi function,dan boleh dipanggil oleh fail lain.

katakan saya namakan fail ini Reka.

dalam fail Reka ni ada fungsi yang boleh diwariskan:

cetakImej:--->akan panggil fail dalam folder "Imej"
cetakUrl :--->akan panggil fail dalam folder "senaraiUrl"
cetakBerita:--->akan panggil dalam folder "Berita"
cetakCSS--->akan panggil fail CSS dalam folder "Design"

so katakan saya ada satu fail bernama

"main.php"

saya sepatutnya buat begini;

<?php
//convention ikut pear ke kalu nuleh < ? php ?
Reka::cetakCSS();
Reka::cetakUrl('http://bincang.net');
Reka::cetakBerita('unjuranBerita');

?>

kod di atas boleh jalan andaikata saya letak di dalam folder yang boleh dibaca oleh pak cik Apache:

web/

katakan saya buat satu folder baru utk tujuan eksperimen

dalam web/
say buat
/eksperimen -----jadinya web/eksperimen/

adakah saya kena buat camni ?


../Reka::namafungsi ?
//"../" bermakna satu folder ke atas,sama cam cd ..

tak jalan pun?

saya angkut satu fail CSS baru,untested.
logiknya camni

main.php <-------------------------- akan panggil main.inc.php
dalam main.inc.php akan panggil fail CSS,header,footer dsb.

dalam main.php ia akan bertugas sebagai "index",jadi sebarang perubahan saya akan letak pada main.inc.php

katakan saya dapat satu fail baru,hardcoded.dalam HTML ,cemane nak pecahkan komponen dalam fail tu kepada fail2 yang boleh dipanggil(macam include kot)

try buat include('nama fail') ;
atau include('grafikapaapa.jpg');

tak jadi la.
cemane ek?

//kalo tak paham soalan saya sila spesifikkan ye,sbb nak terangkan pun rasa cam susah gak ni.

r0kawa
17-04-03, 08:53 AM
yang penting, cuma include kan file yang ada function tu..

contoh

folde
web/reka.inc.php << ni ada letak function yang semua2 tu
web/experimen/index.php << ni file nak exp

dalam index.php tu cuma letak

<?php
include '../reka.inc.php';

Reka::cetakCSS();



dan yang lain2 sepatutnya jalan

Diskuzar
17-04-03, 09:00 AM
pakai absolute path lagi elok ... so tak kira berapa level sub directory pun still leh include file tu

cth /home/www/mnajem/publichtml/reka.inc.php

mnajem
17-04-03, 10:24 AM
ok camni.skang say tgh working on some sort of skin la.
web ni boleh adapt ngan memacam interface

dalam /home/www/projek/
/pda
/browserlambek
/skinmnajem ----->katakan la saya letak nama cenggini

--------->so dia
/browserlambek akan panggil fail *.inc.php utk interface dia.

saya anggap yang sepatutnya /skinmnajem akan kongsi fail yang sama.
tapi my peers kata cara lain,maksudnya sebab /browserlambek dah call fail *.inc.php tu so /skinmnajem kena buat satu *.inc sendiri.

actually saya kena panggil fail dalam satu direktori /lib --->dalam ni ada memacam function so kalo nak koding sepatutnya pendek je leh main panggil2 function dari folder ni.

--->partially working,tapi still gagal panggil fail yang dibuat atas dreamweaver --->*.dwt dan javascript.

r0kawa
17-04-03, 10:32 AM
kalau pakai absolute path bukan apa, nanti nak pindahkan dia ke tempat lain dah sukar.. (e.g dari pc ke server )

mungkin boleh guna style macam ni

include dirname(__FILE__) . 'file.inc.php';

still ada absolute path dan dynamic ;)

mnajem
17-04-03, 10:58 AM
skang guna VIRTUAL_DIR

so katakan
dlam folder /mnajemskin :

index.php ==login page
main.php ------->akan panggil main.inc.php

dalam main.php tu skang penuh ngan plain HTML codes.
so cemane agaknya nak clean hanya utk php codes Namafail::fungsi(' ' ) ?

contoh instead of buat


<a href="mnajemlambatgiopisarini.jpg">

saya akan buat
Reka:: printImage('mnajemlambatgiopisarini.jpg');

kena buat setiap image dalam fail.html tu tuko suma pada kod php sebijik2 ke?
:

Reka:: printImage('mnajemlambatgiopisarini.jpg');
Reka:: printImage('isiminyakpakaiVPower.jpg');
Reka:: printImage('bilikserversejuk.jpg');

?