הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [עזרה] דף פונקציות (https://hosts.co.il/forums/showthread.php?t=64802)

dabi 04-07-08 11:58

[עזרה] דף פונקציות
 
1)במערכת ניהול תוכן
איך כדאי לעשות אותה?
אני יכול כמובן לעשות כל עמוד PHP שיהיה אחראי
לדוגמא עמוד 1 עריכה
עמוד 2 על מחיקה וכו'
ואז נגיד עמוד 1 למנהל שאחראי על הכל וכו'
האם זה הצורה הנכונה או שיש יותר טוב?

2)
האם כדאי לעשות דף פונקציות (פונקציות שאני בונה ואני משתמש בהם)
אם כן: אז זה לא סתם מבזבז"מהירות" כי כל דף אני יצטרך לעשות אינקלוד לדף הפונקציות

ואם כן אז איזה פונקציות במערכת ניהול תוכן כדאי לי לעשות בדף פונקציות ולא לרשום כל פעם??

3)
ראיתי מישהו שאמר שלא לעשות 2 שאילתות בעמוד 1
למה?
ומה לעשות אם אני צריך?
תודה

OrPol 04-07-08 12:28

אז ככה.
תעשה שני עמודי ניהול. ADMIN שקורא את כל העמודים / התוכן מהמסד ומציב אותם בטבלה, ובסוף כל שורה תוסיף שני לחצנים (ערוך/מחק)
ששניהם מובילים לעמוד אחד admin_edit עם get שנקרא action ובו הערכים delete או edit. ובהתאם תריץ שאילתה.

וכן, תעשה דף פונקציות. שבו למשל פונקציה כמו get_post_data() שהיא קוראת את כל נתוני התוכן של פוסט עם ID מסויים.
ותקרא לה ע"י get_post_data($post_id)

בהצלחה. אם יש שאלות אני מוכן לעזור לך בכול. פנה אליי בפרטי.

Kfir.G 04-07-08 12:31

1+2 עדיף לך לפצל. מהסיבה שאמרת בעצמך של בזבוז משאבים שלא לצורך. תעשה קובץ אחד גלובאלי עם מידע שדרוש לכל העמודים ואם יש דברים נוספים שאתה משתמש בהם רק בעמוד מסויים אז תעשה להם עמוד נפרד.

3) ככל שאתה עושה יותר שאילתות אתה משתמש ביותר משאבי שרת ולכן עדיף להשתמש בכמה שפחות אבל אתה יכול להשתמש בכמה שאתה רוצה. אם תסתכל על מערכות כמו IPB למשל תראה שהן משתמשות במשהו בסדר גודל של 20 שאילתות בעמוד ממוצע.

כפיר

BlueNosE 04-07-08 12:58

ציטוט:

נכתב במקור על ידי Kfir.G (פרסם 647625)
1+2 עדיף לך לפצל. מהסיבה שאמרת בעצמך של בזבוז משאבים שלא לצורך. תעשה קובץ אחד גלובאלי עם מידע שדרוש לכל העמודים ואם יש דברים נוספים שאתה משתמש בהם רק בעמוד מסויים אז תעשה להם עמוד נפרד.

כפיר

???
אחד הכלים היותר ידועים בתכנות הוא פיצול קבצים לצורך סדר.
הינה לדוגמא תיקיית sources במערכת חדשה שאני בונה:
קוד:

class.database.php
class.fetch.php
class.template-base.php
function.pages.php
functions.ih3.php
functions.php
functions.text.php
handler.onerror.php

וזה בנוסף לתקיית מודולים, שבה כל מודול מכיל בממוצע 3 קבצים לא כולל קובצי ניהול של אותו מודול.

Kfir.G 04-07-08 15:59

זאת בדיוק הנקודה שלי עומר... בעצם זה שאתה מפצל ככה אתה לא עושה include לכל המידע בשביל קובץ ספציפי נכון? אתה לא תייבא את הקבצים שמטפלים בadmin לקבצים שמטפלים במשתמש רגיל. עזוב לרגע את הסדר אם כל המחלקות שלך למשל היו בקובץ אחד והיית עושה include לכולן בכל פעם תסכים איתי שזה היה בזבוז? הפיצול מעניק דברים מעבר לסתם נוחות... אבל למשל ממה שהבנתי מהקבצים שהצגת את הקובץ functions אתה מוסיף למרבית הקבצים במערכת שלך נכון? הנה לך בדיוק אותו הרעיון של הקובץ הגלובאלי שדיברתי עליו...

BlueNosE 04-07-08 17:32

לפי מה שאתה אמרת צריך לעשות קובץ אחד ויחיד שאחראי על הפונקציות, ועוד קבצים קטנים שאחראים על טיפול בקובץ ספציפי (לדוגמא, אם צריך פונקציה בשם abc רק בקובץ x, אז מכינים לה קובץ נפרד).
לא הבנתי מזה את מה שאתה אומר עכשיו...

Daniel 04-07-08 18:22

כמה שיותר שאילתות יותר משאבים?

מה לוקח יותר?

SELECT id, name, email, registered FROM names

OR

SELECT 1+1 as two
SELECT 1+2 as three

Kfir.G 05-07-08 00:25

ציטוט:

נכתב במקור על ידי BlueNosE (פרסם 647765)
לפי מה שאתה אמרת צריך לעשות קובץ אחד ויחיד שאחראי על הפונקציות, ועוד קבצים קטנים שאחראים על טיפול בקובץ ספציפי (לדוגמא, אם צריך פונקציה בשם abc רק בקובץ x, אז מכינים לה קובץ נפרד).
לא הבנתי מזה את מה שאתה אומר עכשיו...

אז כנראה שהניסוח שלי לא היה ברור מספיק... ננסה לדייק יותר פעם הבאה ;P

ציטוט:

נכתב במקור על ידי MasterT (פרסם 647778)
כמה שיותר שאילתות יותר משאבים?

מה לוקח יותר?

SELECT id, name, email, registered FROM names

OR

SELECT 1+1 as two
SELECT 1+2 as three

ברוב המקרים יותר שאילתות ישתמשו ביותר משאבים. באותה המידה אתה יכול לקחת שאילתה אחד עם subquery...

BlueNosE 05-07-08 02:26

ציטוט:

נכתב במקור על ידי Kfir.G (פרסם 647869)
אז כנראה שהניסוח שלי לא היה ברור מספיק... ננסה לדייק יותר פעם הבאה ;P

ברוב המקרים יותר שאילתות ישתמשו ביותר משאבים. באותה המידה אתה יכול לקחת שאילתה אחד עם subquery...

אני שמח שאתה משתדל בשבילי ;P

ובקשר לשאילתות - אתה צודק, אבל בין זה לבין להגיע לכזאת קיצוניות:
ציטוט:

3)
ראיתי מישהו שאמר שלא לעשות 2 שאילתות בעמוד 1
למה?
ומה לעשות אם אני צריך?
ההבדל ענק.


כל הזמנים הם GMT +2. הזמן כעת הוא 02:34.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ