Results 1 to 6 of 6

Thread: class significance

  1. #1
    Join Date
    May 2010
    Manila, Philippines

    class significance

    i really can't understand what does the class significance. Some programmers using class to create object. But we can create objects just using function. Is class really that significant in php programming?

  2. #2
    Join Date
    Sep 2010
    Creating your own classes (and thus being able to create objects from these classes) is the basis of Object Oriented programming.

    It is an extremely powerful part of the Object Oriented programmming which allows you to re-use and incapsulate functionality so that you have something that represents whatever it is you are doing.

    Or are you asking about something else?


  3. #3
    Join Date
    Aug 2004
    If you are new to the world of object-oriented programming (OOP) and OOP PHP, start here for the basic concepts: http://java.sun.com/docs/books/tutorial/java/concepts/. Then check out the PHP specifics at http://www.ibm.com/developerworks/op...w01PHP5objects and http://www.ibm.com/developerworks/op...y/os-advphpobj. Then get hold of Matt Zandstra's book PHP 5 Objects, Patterns, and Practice to get it all tied together and start thinking in OOP terms.

    (Sorry, it takes a bit of study to really "get it". Just learning the basic syntax does not teach you how to use object-oriented design and programming.)
    "Well done....Consciousness to sarcasm in five seconds!" ~ Terry Pratchett, Night Watch

    How to Ask Questions the Smart Way (not affiliated with this site, but well worth reading)

    My Blog
    cwrBlog: simple, no-database PHP blogging framework

  4. #4
    Join Date
    Jul 2009
    Falls Church, Va.
    zimonyi did an excellent job explaining the high level "why" OOP is considered by developers vs. other means. Compliments to NogDog for posting outstanding links to help novices learn about the conceptual aspects of it - this is the kind of thing where RTFM really matters!
    Jim, Sr. Web Developer
    You know who you real friends are when you ask them to move your furniture or paint.

  5. #5
    Join Date
    May 2010
    Manila, Philippines
    ill read those links then. thank you for advices guys... =)

  6. #6
    Join Date
    Sep 2010
    I will also give a fairly good example of when Object Oriented programming is in its essence.

    I have a site created in PHP. Like most server-side programming sites, which can use any server-side language, they have a database which contains a bunch of data.

    Long ago I worked with ASP, and there was three objects there that was very easy to use when working with databases. They were called Connection, Command, ResultSet.

    The Connection does what you think it does, it contained the database connection.

    The Command object contained the SQL statement and you could set the statement and then simply run execute() on that statement.

    The ResultSet contained the result of your query.

    The above is simple and elegant.

    When I started with PHP (around the same time) they only had the mysql_connect(), mysql_query() and mysql_fetch_array() as specific methods for working with the MySQL database or for say the postgres database they had pg_connect(), pg_query() and so on.

    This means that if you have a lot of PHP pages you need to implement database specific functions in all your pages. If for some reason you need to change the database you need to do that for all your pages on your site.

    What I did was to create the above mentioned classes for my site in PHP. I had a single method connect() which used mysql_connect() when I (in the beginning) used the MySQL database. When I later switched I only had to make my change in one place, namely in my Connection class, and I changed it to pg_connect().

    Same with the Command class. It had a setStatement() function and then an execute() function. When I changed my database I only needed to change the PHP function names in my execute() function for it to work with the new database.

    The code for the actual pages on my site still looked the same, no changes at all.

    If done right, it could indeed be very powerful.


Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
HTML5 Development Center



X vBulletin 4.2.2 Debug Information

  • Page Generation 0.33213 seconds
  • Memory Usage 2,897KB
  • Queries Executed 15 (?)
More Information
Template Usage (32):
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_global_above_footer
  • (1)ad_global_below_navbar
  • (1)ad_global_header1
  • (1)ad_global_header2
  • (1)ad_navbar_below
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)ad_thread_first_post_content
  • (1)ad_thread_last_post_content
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)headinclude_bottom
  • (6)memberaction_dropdown
  • (1)navbar
  • (4)navbar_link
  • (1)navbar_moderation
  • (1)navbar_noticebit
  • (1)navbar_tabs
  • (2)option
  • (6)postbit
  • (6)postbit_onlinestatus
  • (6)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available (6):
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files (26):
  • ./showthread.php
  • ./global.php
  • ./includes/class_bootstrap.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/functions_navigation.php
  • ./includes/class_friendly_url.php
  • ./includes/class_hook.php
  • ./includes/class_bootstrap_framework.php
  • ./vb/vb.php
  • ./vb/phrase.php
  • ./includes/functions_facebook.php
  • ./includes/functions_calendar.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_notice.php
  • ./packages/vbattach/attach.php
  • ./vb/types.php
  • ./vb/cache.php
  • ./vb/cache/db.php
  • ./vb/cache/observer/db.php
  • ./vb/cache/observer.php 

Hooks Called (70):
  • init_startup
  • friendlyurl_resolve_class
  • init_startup_session_setup_start
  • database_pre_fetch_array
  • database_post_fetch_array
  • init_startup_session_setup_complete
  • global_bootstrap_init_start
  • global_bootstrap_init_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • load_show_variables
  • load_forum_show_variables
  • global_state_check
  • global_bootstrap_complete
  • global_start
  • style_fetch
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • strip_bbcode
  • friendlyurl_clean_fragment
  • friendlyurl_geturl
  • forumjump
  • cache_templates
  • cache_templates_process
  • template_register_var
  • template_render_output
  • fetch_template_start
  • fetch_template_complete
  • parse_templates
  • fetch_musername
  • notices_check_start
  • notices_noticebit
  • process_templates_complete
  • friendlyurl_redirect_canonical
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • memberaction_dropdown
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • build_navigation_data
  • build_navigation_array
  • check_navigation_permission
  • process_navigation_links_start
  • process_navigation_links_complete
  • set_navigation_menu_element
  • build_navigation_menudata
  • build_navigation_listdata
  • build_navigation_list
  • set_navigation_tab_main
  • set_navigation_tab_fallback
  • navigation_tab_complete
  • fb_like_button
  • showthread_complete
  • page_templates