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

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

Ben21 19-04-10 16:47

מחלקה להתחברות למסד+תוסף קטן
 
המחלקה היא:
PHP קוד:

<?php
class MySql
{
    function 
login()
    {
        
$link mysql_connect("localhost""username""pass")or die(mysql_error()); //ההתחברות למסד,שנו פרטים
        
$db mysql_select_db("name_db"$link)or die(mysql_error()); //בחירת מסד, שנו לשלכם
    
}
    
    function 
query($sql_text)
    {
        return 
mysql_query($sql_text); //שליפה בקוד קצר יותר, אני משתמש בזה הרבה בקודים גדולים(לא חובה)
    
}
}

$db = new MySql;
$db->login();
?>

ואם אתם רוצים להשתמש בפונקצייה query שבעיקרון היא צריכה לבצע את הפעולה של הפונקצייה mysql_query רק בקיצור, אז אתם צריכים לעשות ככה.
PHP קוד:

<?php
$db
->query(Code Sql);
?>

מקווה שיעזור למשהו, אשמח לקבל הצעות לשיפור יעילות הקוד.

daMn 19-04-10 17:54

אני פשוט רוצה שתבין את הרעיון שעובד מאחורי OOP אם בכלל זה מה שאתה מנסה ללמוד,
למה לא השתמשת בפונקציות רגילות באיזשהו קובץ נפרד שעושות את הconnect ואת הquery?
למה דווקא במחלקה?

Ben21 19-04-10 17:58

אני לא לומד OOP, ואני לא מנסה ללמד, הכנתי מחלקה על מנת שזה יעזור לאנשים.
פה בדוגמא זו היא ריקה מדי, אבל מתמלאים בה המון דברים בדרך כלל וחשוב שתיהיה מחלקה אחת לכל הSQL לפי דעתי

daMn 19-04-10 18:00

אם זה מה שאתה אומר אתה יכול לפתוח קובץ ולקרא לו mysql.php ולשים בו את כל הפונקציות שכתבת,
אם אתה בקטע של מחלקות אני מציע שתלמד OOP ואז תראה איזה כוח יש לך ואיך אתה מחזיק אובייקטים ואז מפעיל עליהם פונקציות.

Ben21 19-04-10 18:07

אני יודע OOP, מה כוונתך איזה כוח ישלך, תראה דוגמא.

אדיר 20-04-10 22:20

האמת? כרגע המחלקה מיותרת ואני לא רואה שום סיבה להשתמש בזה.
אם תפתח אותה קצת יותר: תוסיף עוד פונקציות, תכניס קצת יותר גמישות (אפשרות להתחבר למס' מסדי נתונים לדוג') וכד' זה יהיה קצת יותר סבבה.

הכנתי בעבר משהו דומה,
מאוד שימושי ונוח אם אתה עושה את זה כמו שצריך.

OrPol 22-04-10 07:51

ציטוט:

נכתב במקור על ידי xPerfection (פרסם 761671)
האמת? כרגע המחלקה מיותרת ואני לא רואה שום סיבה להשתמש בזה.
אם תפתח אותה קצת יותר: תוסיף עוד פונקציות, תכניס קצת יותר גמישות (אפשרות להתחבר למס' מסדי נתונים לדוג') וכד' זה יהיה קצת יותר סבבה.

הכנתי בעבר משהו דומה,
מאוד שימושי ונוח אם אתה עושה את זה כמו שצריך.

אם נגיד אני משתמש בדף שלי עם ה
$db->login()

אבל בתוך הדף עצמו במקום להשתמש ב$db->query
אני אשתמש פשוט בmysql_query,
זה יעבוד או לא יעבוד?

כאילו היכולת להתקשר עם המסד שמורה רק למחלקה? או שרק אם המחלקה מוגנת או משהו?

(כמובן שהשימוש בקלאס הזה הוא לצורך הדגמה.)

רומן 22-04-10 08:01

לפותח האשכול, אתה חמוד, אבל אם רק התחלת ללמוד OOP אבל תפזר מחלקות,
המחלקה שלך תחלאס לא עושה כלום, לא הייתי קורא לזה מחלקה,
אתה יכול לעשות את זה בפונקציה רגילה וזהו, ואזה לא שונה הרבה מקוד התחברות רגילה.
במיוחד כשיש את mysqli ...

Megnum 22-04-10 08:24

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

OrPol 22-04-10 12:50

ציטוט:

נכתב במקור על ידי Megnum (פרסם 761784)
אתה יכול להוסיף למחלקה גם mysql_result שתעבוד על הפונקציה זה כבר מוסיף יעילות למחלקה.

ראיתי מה הוא עשה,
אבל נגיד יש לי קוד גדול ועוד לא החלפתי בכולו את הMYSQLֹQUERY לִDB->QUERY
הCONNECT שהוא עשה למסד עצם ה new DB; חוסך לי את הצורך להתחבר גם אם אני משתמש בMYSQL QUERY מחוץ לקוד של המחלקה או לא?


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

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