āĻŽāĻĄā§‡āĻ˛-āĻ­āĻŋāĻ‰-āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§
āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻŦā§‡āĻ¸āĻŋāĻ• āĻ†āĻ‡āĻĄāĻŋā§ŸāĻž āĻŦāĻž āĻŸā§‡āĻ•āĻ¨ā§‹āĻ˛āĻœāĻŋāĻŸāĻž āĻ†āĻ¸āĻ˛ā§‡ āĻ–ā§āĻŦāĻ‡ āĻ¸āĻšāĻœ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻ–āĻ¨āĻ‡ āĻ†āĻŽāĻ°āĻž āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĢāĻŋāĻšāĻžāĻ° āĻ¯ā§‹āĻ— āĻ•āĻ°āĻŋ āĻ…āĻĨāĻŦāĻž āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ•āĻžāĻˇā§āĻŸāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻŋ āĻ¤āĻ–āĻ¨āĻ‡ āĻāĻŸāĻžāĻ° āĻšā§‡āĻšāĻžāĻ°āĻž āĻĻā§āĻ°ā§āĻ¤ āĻœāĻŸāĻŋāĻ˛ āĻšā§Ÿā§‡ āĻ¯āĻžā§ŸāĨ¤
Model-View-Controller (MVC) āĻšāĻ˛ā§‹ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¸āĻĢāĻŸāĻ“ā§Ÿā§āĻ¯āĻžāĻ° āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻĒā§āĻ¯āĻžāĻŸāĻžāĻ°ā§āĻ¨ (Software design pattern) āĻ¯āĻž āĻ•ā§‹āĻĄāĻ•ā§‡ āĻ¸āĻ‚āĻ—āĻ āĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻœāĻ¨ā§‡āĻ¸ āĻ˛āĻœāĻŋāĻ• āĻāĻŦāĻ‚ āĻĄāĻžāĻŸāĻž āĻĒā§āĻ°ā§‡āĻœā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻ˛ā§‡ā§ŸāĻžāĻ°āĻ•ā§‡ āĻ†āĻ˛āĻžāĻĻāĻž āĻ°āĻžāĻ–ā§‡āĨ¤ āĻāĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒā§āĻ¯āĻžāĻŸāĻžāĻ°ā§āĻ¨ āĻŦā§āĻ¯āĻžāĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻŽā§‚āĻ˛ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻāĻ‡ āĻ¯ā§‡, āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž āĻŦāĻŋāĻœāĻ¨ā§‡āĻ¸ āĻ˛āĻœāĻŋāĻ•āĻ•ā§‡ āĻ†āĻ˛āĻžāĻĻāĻž āĻāĻ•āĻŸāĻž āĻ—ā§āĻ°ā§āĻĒā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŋ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻāĻŦāĻ‚ āĻ‡āĻ‰āĻœāĻžāĻ° āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ…ā§āĻ¯āĻžāĻ•āĻļāĻ¨ āĻāĻ° āĻ¯ā§‡ āĻ•ā§‹āĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻŦāĻž āĻ•āĻžāĻˇā§āĻŸāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻŦāĻŋāĻœāĻ¨ā§‡āĻ¸ āĻ˛āĻœāĻŋāĻ•ā§‡āĻ° āĻ•ā§‹āĻĄā§‡ āĻšāĻžāĻ¤ āĻ¨āĻž āĻĻāĻŋā§Ÿā§‡āĻ‡ āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦāĨ¤

āĻœā§āĻŽāĻ˛āĻžāĻ¤ā§‡ āĻāĻŽāĻ­āĻŋāĻ¸āĻŋ (MVC) āĻ¯ā§‡āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡

āĻœā§āĻŽāĻ˛āĻžāĻ¤ā§‡ āĻāĻŽāĻ­āĻŋāĻ¸āĻŋ (MVC) āĻ¯ā§‡āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡

āĻ¨āĻžāĻŽ āĻļā§āĻ¨ā§‡āĻ‡ āĻ†āĻŽāĻ°āĻž āĻšā§ŸāĻ¤ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻŦā§āĻāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ›āĻŋāĨ¤ āĻŽāĻĄā§‡āĻ˛ āĻ­āĻŋāĻ‰ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ°ā§‡āĻ° āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ…āĻ‚āĻļ:
āĻŽāĻĄā§‡āĻ˛ (Model):
āĻāĻ‡ āĻ…āĻ‚āĻļā§‡ āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻ—ā§āĻ˛ā§‹āĻ•ā§‡ āĻāĻ¨āĻ•ā§āĻ¯āĻžāĻĒāĻ¸ā§āĻ˛ā§‡āĻŸ āĻ•āĻ°āĻž āĻšā§ŸāĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦāĻž āĻ˛āĻœāĻŋāĻ•, āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ•ā§ā§Ÿā§‡āĻ°āĻŋ (add, remove and update information) āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻĨāĻžāĻ•āĻŦā§‡āĨ¤ āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻŽāĻĄā§‡āĻ˛ āĻ…āĻ‚āĻļ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻšāĻžāĻ° āĻ°āĻŋāĻĒā§āĻ°ā§‡āĻœā§‡āĻ¨ā§āĻŸ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻāĻ‡ āĻ˛āĻœāĻŋāĻ•āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŦāĻ˛āĻž āĻšā§Ÿ āĻŦāĻŋāĻœāĻ¨ā§‡āĻ¸ āĻ˛āĻœāĻŋāĻ• (business logic)āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻ­āĻŋāĻ‰ā§Ÿā§‡āĻ° āĻ•ā§‡āĻžāĻ¨ā§‡āĻž āĻĒā§āĻ°āĻ•āĻžāĻ° āĻ•āĻžāĻœ āĻšāĻŦā§‡āĻ¨āĻž, āĻ†āĻŽāĻžāĻĻā§‡āĻ°āĻ•ā§‡ āĻ•āĻŋāĻ›ā§ variable āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒāĻžāĻ āĻžāĻ¨ā§‡āĻž āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¨āĻžāĻ“ āĻĒāĻžāĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻĢāĻžāĻ‚āĻļāĻ¨āĻ—ā§āĻ˛ā§‹āĻ¤ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°ā§Ÿā§‡āĻžāĻœāĻ¨ā§€ā§Ÿ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ•āĻ¨āĻŸā§āĻ°ā§‡āĻžāĻ˛āĻžāĻ°āĻ•ā§‡ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°āĻŦā§‹āĨ¤ āĻŽāĻĄā§‡āĻ˛ āĻ¯ā§‡ āĻĄāĻžāĻŸāĻž āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻŖ āĻ•āĻ°ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛ā§‡āĻžāĻ•ā§‡ “display-neutral-data” āĻŦāĻ˛āĻž āĻšā§Ÿ, āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻ¸ā§‡āĻ—ā§āĻ˛ā§‡āĻžāĻ¤ā§‡ āĻ•ā§‡āĻžāĻ¨ā§‡āĻž āĻĄāĻŋāĻ¸āĻĒā§āĻ˛ā§‡ āĻĢāĻ°āĻŽā§‡āĻŸāĻŋāĻ‚ āĻĨāĻžāĻ•ā§‡āĻ¨āĻžāĨ¤ āĻ¯āĻĻāĻŋ āĻ•āĻ–āĻ¨āĻ“ āĻāĻŽāĻ¨ āĻ˜āĻŸāĻ¨āĻž āĻ˜āĻŸā§‡ āĻ¯ā§‡, āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ‡āĻ¨āĻĢāĻ°āĻŽā§‡āĻļāĻ¨ āĻ—ā§āĻ˛ā§‹ flat file āĻ āĻˇā§āĻŸā§‹āĻ° āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻāĻ–āĻ¨ āĻ†āĻŦāĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻœ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦā§āĻ¯āĻžāĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻšā§āĻ›āĻŋāĨ¤ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¯ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻŸā§āĻ•ā§ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¤āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° Model āĻ…āĻ‚āĻļā§‡āĻ‡ view āĻ…āĻĨāĻŦāĻž controller-āĻ āĻ•ā§‹āĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻĻāĻ°āĻ•āĻžāĻ° āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤
āĻ­āĻŋāĻ‰ (View):
āĻ āĻ…āĻ‚āĻļā§‡ āĻĨāĻžāĻ•āĻŦā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° user interface-āĻāĻ° āĻ•ā§‡āĻžāĻĄ, āĻ…āĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§ āĻ¨āĻžāĨ¤ āĻ˛āĻœāĻŋāĻ•ā§āĻ¯āĻžāĻ˛ āĻ•ā§‡āĻžāĻ¨ā§‡āĻž āĻŦā§āĻ¯āĻžāĻĒāĻžāĻ° āĻ­āĻŋāĻ‰āĻ¤ā§‡ āĻĨāĻžāĻ•āĻŦā§‡āĻ¨āĻžāĨ¤ āĻāĻ° āĻ•ā§‹āĻĄ āĻĻā§āĻŦāĻžāĻ° āĻ‡āĻ‰āĻœāĻžāĻ° āĻāĻ•āĻŸāĻž āĻĒā§‡āĻœ āĻĻā§‡āĻ–āĻŦā§‡, āĻ¯āĻž āĻāĻ•āĻŸāĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻ¨ html āĻĒā§‡āĻœ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ (āĻ…āĻĨāĻŦāĻž error, feed, html, json, raw, xml, flash animation)āĨ¤ āĻ­āĻŋāĻ‰ āĻŽāĻĄā§‡āĻ˛ āĻĨā§‡āĻ•ā§‡ āĻĄāĻžāĻŸāĻžāĻ—ā§āĻ˛ā§‹āĻ•ā§‡ āĻ¤ā§āĻ˛ā§‡ āĻāĻ¨ā§‡ āĻāĻ•āĻŸāĻž view-āĻāĻ° āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĢā§‡āĻ˛ā§‡ āĻĻā§‡āĻ–āĻžā§ŸāĨ¤ āĻāĻ•āĻŸāĻŋ āĻ­āĻŋāĻ‰ā§Ÿā§‡āĻ° āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ˛ā§‡āĻ†āĻ‰āĻŸ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯ā§‡āĻŸāĻž āĻ•āĻ¨ā§āĻŸā§āĻ°ā§āĻ°ā§‹āĻ˛āĻžāĻ° āĻĻā§āĻŦāĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻšāĻŦā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ā§‡āĻ° āĻ•ā§‹āĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ­āĻŋāĻ‰ āĻ…āĻ‚āĻļā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ˛ā§‡āĻ‡ āĻšāĻ˛āĻŦā§‡āĨ¤
āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ° (Controller):
āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ°ā§‡ āĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•ā§‹āĻĄāĻ—ā§āĻ˛āĻŋ āĻĨāĻžāĻ•āĻŦā§‡ āĻ¯āĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž model āĻāĻŦāĻ‚ view āĻāĻ° āĻ˛āĻœāĻŋāĻ•āĻ—ā§āĻ˛āĻŋ āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°āĻŦā§‡āĨ¤ āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ° āĻŽāĻĄā§‡āĻ˛ āĻāĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻĻā§‡āĻ–āĻŦā§‡ āĻŦāĻž āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻŦā§‡ (set and get the states of the models) āĻāĻŦāĻ‚ āĻ­āĻŋāĻ‰ā§Ÿā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛ā§‹ āĻĻā§‡āĻ–āĻžāĻŦā§‡āĨ¤ āĻ…āĻ¨ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻŦāĻ˛āĻž āĻ¯āĻžā§Ÿ, āĻ¸āĻ•āĻ˛ āĻ‡āĻ‰āĻœāĻžāĻ° āĻ‡āĻ¨āĻĒā§āĻŸ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‡āĻžāĻ˛āĻžāĻ°ā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻĒāĻžāĻ āĻžāĻ¨ā§‹ āĻšā§Ÿ, āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‡āĻžāĻ˛āĻžāĻ° āĻ‡āĻ¨āĻĒā§āĻŸ āĻĒāĻžāĻŦāĻžāĻ° āĻĒāĻ° parameter āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒāĻžāĻ āĻŋā§Ÿā§‡ āĻĻā§‡ā§Ÿ āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻ•āĻžāĻ›ā§‡, āĻŽāĻĄā§‡āĻ˛ āĻ¸ā§‡āĻŸāĻžāĻ•ā§‡ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻ•āĻ°ā§‡ āĻ•āĻŋāĻ›ā§ āĻĄāĻžāĻŸāĻž āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻŖ āĻ•āĻ°ā§‡, āĻāĻŦāĻžāĻ° āĻ¸ā§‡āĻ‡ āĻĄāĻžāĻŸāĻžāĻ•ā§‡ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‡āĻžāĻ˛āĻžāĻ° āĻ†āĻŦāĻžāĻ° āĻĒāĻžāĻ āĻŋā§Ÿā§‡ āĻĻā§‡ā§Ÿ āĻ­āĻŋāĻ‰ āĻāĻ° āĻ•āĻžāĻ›ā§‡āĨ¤ āĻ­āĻŋāĻ‰ āĻ¤āĻ–āĻ¨ āĻĄāĻžāĻŸāĻž āĻ—ā§āĻ˛ā§‡āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°ā§‡āĨ¤
āĻŽāĻĄā§‡āĻ˛ āĻ­āĻŋāĻ‰ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ° āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻ°āĻ“ āĻœāĻžāĻ¨āĻ¤ā§‡ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

āĻ˛āĻŋāĻ‚āĻ•āĻ—ā§āĻ˛ā§‹ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻ¨āĻž āĻšāĻžāĻ‡āĻ˛ā§‡āĻ“ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¨ā§‡āĻ‡āĨ¤ āĻāĻ‡ āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋā§ŸāĻžāĻ˛ā§‡āĻ‡ āĻ¯āĻ–āĻ¨ āĻ¯ā§‡āĻŸāĻž āĻŦā§āĻ¯āĻžāĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦ āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤ āĻĢāĻ˛ā§‡ āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋā§ŸāĻžāĻ˛ āĻ¸āĻŋāĻ°āĻŋāĻœā§‡āĻ° āĻļā§‡āĻˇā§‡ āĻāĻŽāĻ¨āĻŋāĻ¤ā§‡āĻ‡ MVC āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ§āĻžāĻ°āĻŖāĻž āĻ¤ā§ˆāĻ°āĻŋ āĻšā§Ÿā§‡ āĻ¯āĻžāĻŦā§‡āĨ¤
MVC āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĢā§āĻ°ā§‡āĻŽāĻ“ā§ŸāĻžāĻ°ā§āĻ•ā§‡āĻ° āĻŽāĻ¤ āĻœā§āĻŽāĻ˛āĻž āĻĢā§āĻ°ā§‡āĻŽāĻ“ā§ŸāĻžāĻ°ā§āĻ•ā§‡āĻ°āĻ“ āĻŽāĻĄā§‡āĻ˛ āĻ­āĻŋāĻ‰ āĻāĻŦāĻ‚ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻ˛āĻžāĻĻāĻž abstract āĻ•ā§āĻ˛āĻžāĻ¸ āĻ†āĻ›ā§‡āĨ¤ āĻœā§āĻŽāĻ˛āĻžāĻ¤ā§‡ MVC āĻĒā§āĻ¯āĻžāĻŸāĻžāĻ°ā§āĻ¨ āĻ‡āĻŽāĻĒā§āĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ JModel, JView āĻāĻŦāĻ‚ JController āĻ¨āĻžāĻŽā§‡ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦā§āĻ¯āĻžāĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšā§Ÿā§‡āĻ›ā§‡āĨ¤
āĻ†āĻ¸ā§āĻ¨ āĻ†āĻŽāĻ°āĻž āĻ†āĻ—ā§‡āĻ° āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋā§ŸāĻžāĻ˛ā§‡āĻ° āĻ•ā§‹āĻĄ āĻŦā§āĻ¯āĻžāĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•āĻžāĻœā§‡ āĻ˛ā§‡āĻ—ā§‡ āĻĒā§œāĻŋāĨ¤

āĻ¸āĻžāĻ‡āĻŸ āĻĒāĻžāĻ°ā§āĻŸā§‡ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ° āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž

site/team.php

āĻāĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻāĻ¨ā§āĻŸā§āĻ°āĻŋ āĻĢāĻžāĻ‡āĻ˛āĨ¤ āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ˛āĻžāĻ‡āĻ¨āĻ—ā§āĻ˛ā§‹ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻŋ:

site/team.php
<?php

// No direct access to this file
defined('_JEXEC') or die('Restricted access');

// import joomla controller library
jimport('joomla.application.component.controller');

// Get an instance of the controller prefixed by Team
$controller = JController::getInstance('Team');

// Perform the Request task
$input = JFactory::getApplication()->input;
$controller->execute($input->getCmd('task'));

// Redirect if set by the controller
$controller->redirect();

āĻāĻ–āĻžāĻ¨ā§‡ JController āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° getInstance āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻŽā§‡āĻĨāĻĄ āĻ¨āĻ¤ā§āĻ¨ āĻāĻ•āĻŸāĻž āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡āĨ¤ getInstance() āĻāĻ° āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° ‘Team’ āĻĻā§‡āĻ“ā§ŸāĻžāĻ° āĻĢāĻ˛ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§‹āĻĄā§‡ āĻāĻŸāĻŋ TeamController āĻ¨āĻžāĻŽā§‡ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ‡āĻ¨ā§āĻ¸āĻŸā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻ¤ā§ˆāĻ°āĻŋ (instantiate) āĻšāĻŦā§‡āĨ¤ āĻœā§āĻŽāĻ˛āĻž TeamController āĻ¨āĻžāĻŽā§‡āĻ° āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻŦāĻ°ā§āĻ¨āĻ¨āĻž (declaration) controller.php āĻ¨āĻžāĻŽā§‡āĻ° āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ–ā§āĻœāĻŦā§‡āĨ¤ āĻāĻŸāĻž āĻœā§āĻŽāĻ˛āĻžāĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŦāĻŋāĻšā§‡āĻŦāĻŋā§ŸāĻžāĻ°āĨ¤

site/controller.php

āĻāĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž controller.php āĻ¨āĻžāĻŽā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻāĻ•āĻŸāĻž āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦ āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ TeamController āĻ•ā§āĻ˛āĻžāĻ¸ āĻ˜ā§‹āĻˇāĻ¨āĻž (declaration) āĻ•āĻ°āĻŦā§‹āĨ¤

site/controller.php
<?php

// No direct access to this file
defined('_JEXEC') or die('Restricted access');

// import Joomla controller library
jimport('joomla.application.component.controller');

/**
 * Team Component Controller
 */
class TeamController extends JController {

}

āĻ¯ā§‡āĻšā§‡āĻ¤ā§ request variables-āĻ āĻ¨āĻ¤ā§āĻ¨ āĻ•āĻŋāĻ›ā§ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšā§ŸāĻ¨āĻŋ āĻ¤āĻžāĻ‡ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ āĻāĻŸāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŸāĻžāĻ¸ā§āĻ• āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸ āĻ•āĻ°āĻŦā§‡, āĻ¯āĻž āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ­āĻŋāĻ‰āĻ•ā§‡āĻ‡ āĻĻā§‡āĻ–āĻžāĻŦā§‡āĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¨āĻžāĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻŋāĻ˛ āĻ°ā§‡āĻ–ā§‡ ‘Team’ āĻšāĻŦā§‡ āĻ­āĻŋāĻ‰ā§Ÿā§‡āĻ° āĻ¨āĻžāĻŽāĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻ†āĻŽāĻ°āĻž āĻĻā§‡āĻ–āĻŦā§‹ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ display() āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻ­āĻŋāĻ‰ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻ¯āĻžā§ŸāĨ¤

 Inheritance diagram for TeamController

Inheritance diagram for TeamController

āĻ¸āĻžāĻ‡āĻŸ āĻĒāĻžāĻ°ā§āĻŸā§‡ āĻ­āĻŋāĻ‰ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž
āĻ¯āĻ–āĻ¨ JController āĻāĻ•āĻŸāĻž āĻ­āĻŋāĻ‰ āĻĻā§‡āĻ–āĻžāĻ¤ā§‡ āĻšāĻžā§Ÿ āĻ¤āĻ–āĻ¨ āĻ¸ā§‡ com_[component_name]/views/[name_of_view]/folder āĻāĻ° āĻ­āĻŋāĻ¤āĻ° āĻ•āĻŋāĻ›ā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ–ā§‹āĻœ āĻ•āĻ°ā§‡āĨ¤āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻāĻ–āĻ¨ site/views/team āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•āĻŋāĻ›ā§ āĻĢāĻžāĻ‡āĻ˛ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ° āĻ¯ā§‹āĻ— āĻ•āĻ°āĻŦāĨ¤ āĻĒā§āĻ°āĻĨāĻŽā§‡āĻ‡..

site/views/team/view.html.php
<?php

// No direct access to this file
defined('_JEXEC') or die('Restricted access');

// import Joomla view library
jimport('joomla.application.component.view');

/**
 * HTML View class for the Team Component
 */
class TeamViewTeam extends JView {

    // Overwriting JView display method
    function display($tpl = null) {
	// Assign data to the view
	$this->name		 = 'Lorem Ipsum';
	$this->designation	 = 'Junior Web Developer';
	$this->biography	 = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur dui ligula, dapibus in ultricies a, fringilla ut lorem. Sed ante elit, porttitor at egestas at, tempus mollis risus. Nulla at accumsan neque..............';

	// Display the view
	parent::display($tpl);
    }

}

JView āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° display() āĻŽā§‡āĻĨāĻĄ JController āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° display āĻŸāĻžāĻ¸ā§āĻ• āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•āĻ˛ āĻšā§ŸāĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻ‡ āĻŽā§‡āĻĨāĻĄ tmpl/default.php āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻĄāĻžāĻŸāĻž āĻĻā§‡āĻ–āĻžāĻŦā§‡ (āĻ¯ā§‡āĻšā§‡āĻ¤ā§ $tpl = null)āĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻ†āĻŽāĻ°āĻž āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ āĻĢā§‡āĻ˛āĻŋāĨ¤

Inheritance diagram for TeamViewTeam

Inheritance diagram for TeamViewTeam

site/views/team/tmpl/default.php

āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋāĻ° āĻĻāĻŋāĻ•ā§‡ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°āĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž āĻĻā§‡āĻ–āĻŦ āĻāĻ–āĻžāĻ¨ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĄāĻžāĻŸāĻžāĻ—ā§āĻ˛ā§‹āĻ•ā§‡ āĻ­ā§āĻ¯āĻžāĻ°āĻŋā§Ÿā§‡āĻŦāĻ˛ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ html āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸā§‡ āĻ‡āĻ•ā§‹ āĻ•āĻ°āĻžāĨ¤ āĻāĻ‡ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ JView āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ‡āĻ¨āĻ•ā§āĻ˛ā§āĻĄā§‡āĻĄ, āĻ¸ā§‡āĻšā§‡āĻ¤ā§ āĻāĻ–āĻžāĻ¨ā§‡ $this TeamViewTeam āĻ•ā§‡ āĻ°ā§‡āĻĢāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤

site/views/team/tmpl/default.php
<?php
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
?>
<h1><?php echo $this->name ?></h1>
<h2><?php echo $this->designation ?></h2>
<p><?php echo $this->biography ?></p>
helloworld.xml

āĻ¨āĻ¤ā§āĻ¨ āĻ¯ā§‡āĻ¸āĻ•āĻ˛ āĻĢāĻžāĻ‡āĻ˛ āĻ“ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ° āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ˛ā§‹ āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯ helloworld.xml āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋāĻ° āĻ•āĻŋāĻ›ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻŋāĨ¤ āĻ†āĻĒāĻĄā§‡āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ 0.0.2 āĻ˛āĻŋāĻ–āĻŋāĨ¤

helloworld.xml
<?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?>
<extension type=&quot;component&quot; version=&quot;1.6.0&quot; method=&quot;upgrade&quot;>
    <name>Team</name>
    <!-- The following elements are optional and free of formatting conttraints -->
    <creationDate>December 2012</creationDate>
    <author>Shamim Reza</author>
    <authorEmail>shamim@localhost</authorEmail>
    <authorUrl>http://localhost</authorUrl>
    <copyright>Copyright Info</copyright>
    <license>License Info</license>
    <!--  The version string is recorded in the components table -->
    <version>0.0.2</version>
    <!-- The description is optional and defaults to the name -->
    <description>This Component will manage your team ...</description>
    <update> <!-- Runs on update; New in 1.6 -->
	<schemas>
	    <schemapath type=&quot;mysql&quot;>sql/updates/mysql</schemapath>
	</schemas>
    </update>
    <!-- Site Main File Copy Section -->
    <!-- Note the folder attribute: This attribute describes the folder
  		to copy FROM in the package to install therefore files copied
  		in this section are copied from /site/ in the package -->
    <files folder=&quot;site&quot;>
	<filename>index.html</filename>
	<filename>team.php</filename>
	<filename>controller.php</filename>
	<folder>views</folder>
    </files>
    <administration>
	<!-- Administration Menu Section -->
	<menu>The Team</menu>
	<!-- Administration Main File Copy Section -->
	<!-- Note the folder attribute: This attribute describes the folder to copy FROM in the package to install therefore files copied in this section are copied from /admin/ in the package -->
	<files folder=&quot;admin&quot;>
	    <!-- Admin Main File Copy Section -->
	    <filename>index.html</filename>
	    <filename>team.php</filename>
	    <!-- SQL files section -->
	    <folder>sql</folder>
	</files>
    </administration>
</extension>

āĻ‡āĻ¨ā§āĻ¸āĻŸāĻ˛ āĻ•āĻ°ā§‡ āĻœā§āĻŽāĻ˛āĻž āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋā§ŸāĻžāĻ˛ (ā§Ļā§§) āĻāĻ° āĻ¨āĻŋā§ŸāĻŽā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĻā§‡āĻ–āĻŋāĨ¤ āĻāĻ•āĻ‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻ˛ā§‡āĻ“ āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻ­āĻŋāĻ‰ āĻ“ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ° āĻŦā§āĻ¯āĻžāĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĒā§‡ā§Ÿā§‡āĻ›āĻŋāĨ¤

āĻ‡āĻ¨ā§āĻ¸āĻŸāĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻœāĻŋāĻĒ (.zip) āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ…āĻĨāĻŦāĻž āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ

Folder Hierarchy

Folder Hierarchy

File List
  • com_team\team.xml
  • com_team\admin\index.html
  • com_team\admin\team.php
  • com_team\admin\sql\index.html
  • com_team\admin\sql\updates\index.html
  • com_team\admin\sql\updates\mysql.0.1.sql
  • com_team\admin\sql\updates\mysql\index.html
  • com_team\site\controller.php
  • com_team\site\index.html
  • com_team\site\team.php
  • com_team\site\views\team\index.html
  • com_team\site\views\team\view.html.php
  • com_team\site\views\team\tmpl\default.php
  • com_team\site\views\team\tmpl\index.html

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¸āĻŦ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛ā§‹ āĻ¨āĻŋā§Ÿā§‡ āĻāĻ•āĻŸāĻŋ āĻ•āĻŽāĻĒā§āĻ°ā§‡āĻ¸āĻĄ .zip āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋ āĻ…āĻĨāĻŦāĻž āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§‡ Joomla! extension manager āĻŦā§āĻ¯āĻžāĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ‡āĻ¨ā§āĻ¸āĻŸāĻ˛/āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻŋāĨ¤

āĻœā§āĻŽāĻ˛āĻž āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ āĻ•āĻŋ?

āĻĒā§āĻ°āĻĨāĻŽā§‡āĻ‡ āĻŦāĻ˛ā§‡ āĻ°āĻžāĻ–āĻž āĻ­āĻžāĻ˛ā§‹, āĻ¯āĻžāĻĻā§‡āĻ° āĻœā§āĻŽāĻ˛āĻž āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŽā§‹āĻŸā§‡āĻ“ āĻ§āĻžāĻ°āĻ¨āĻž āĻ¨ā§‡āĻ‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡ āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋā§ŸāĻžāĻ˛ āĻšā§ŸāĻ¤ā§‹ āĻ•ā§‹āĻ¨ āĻ•āĻžāĻœā§‡ āĻ†āĻ¸āĻŦā§‡ āĻ¨āĻžāĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°āĻ“ āĻ†āĻŽāĻŋ āĻœā§āĻŽāĻ˛āĻž āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ āĻ•āĻŋ āĻ¸ā§‡ āĻŦāĻŋāĻˇā§Ÿā§‡ āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻŦāĨ¤

āĻœā§āĻŽāĻ˛āĻž āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ āĻšāĻ˛ā§‹ āĻāĻ•āĻ§āĻ°āĻ¨ā§‡āĻ° āĻœā§āĻŽāĻ˛āĻž āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨āĨ¤ āĻāĻŸāĻŋ āĻœā§āĻŽāĻ˛āĻžāĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨āĻžāĻ˛ āĻ‡āĻ‰āĻ¨āĻŋāĻŸāĨ¤ āĻāĻ•āĻžāĻ°āĻŖā§‡ āĻāĻŸāĻžāĻ•ā§‡ āĻ…āĻ¨ā§‡āĻ•ā§‡ āĻ¸ā§‡āĻŽāĻŋ-āĻāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§‡āĻ¨āĨ¤ āĻ°ā§‚āĻĒāĻ• āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻ˛āĻž āĻšāĻ˛ā§‡, āĻœā§āĻŽāĻ˛āĻž āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻž āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻšā§Ÿ āĻ¤āĻŦā§‡ āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ āĻšāĻ˛ā§‹ āĻ¤āĻžāĻ° āĻĄā§‡āĻ•ā§āĻ¸āĻŸāĻĒ āĻāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¯āĻž āĻŽā§‡āĻ‡āĻ¨ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āĻŸ āĻāĻ°āĻŋā§ŸāĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšā§Ÿ (āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡)āĨ¤

āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸā§‡āĻ°āĻ‡ āĻĻā§āĻ‡āĻŸāĻŋ āĻ…āĻ‚āĻļ āĻĨāĻžāĻ•ā§‡: āĻāĻĄāĻŽāĻŋāĻ¨āĻŋāĻˇā§āĻŸā§āĻ°ā§‡āĻŸāĻ° āĻĒāĻžāĻ°ā§āĻŸ (administrator part) āĻāĻŦāĻ‚ āĻ¸āĻžāĻ‡āĻŸ āĻĒāĻžāĻ°ā§āĻŸ(site part)āĨ¤

āĻ¸āĻžāĻ‡āĻŸ āĻĒāĻžāĻ°ā§āĻŸāĻŸāĻŋ āĻ¸āĻžāĻ‡āĻŸā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻĒā§‡āĻœāĻ—ā§āĻ˛ā§‹āĻ•ā§‡ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻ° āĻāĻĄāĻŽāĻŋāĻ¨āĻŋāĻˇā§āĻŸā§āĻ°ā§‡āĻŸāĻ° āĻĒāĻžāĻ°ā§āĻŸ āĻ¸āĻžāĻ‡āĻŸā§‡āĻ° āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻ•āĻ¨āĻŸā§‡āĻ¨ā§āĻŸ āĻ•āĻžāĻˇā§āĻŸāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻž āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻœā§āĻŽāĻ˛āĻž āĻāĻĄāĻŽāĻŋāĻ¨ āĻĒā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ā§‡ (Joomla! Administrator) āĻ˛āĻ—āĻ‡āĻ¨ āĻ•āĻ°ā§‡ āĻŦā§āĻ¯āĻžāĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšā§ŸāĨ¤

āĻĒā§āĻ°āĻĨāĻŽ āĻŦā§‡āĻ¸āĻŋāĻ• āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ

āĻ†āĻ¸ā§āĻ¨ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻĒā§āĻ°āĻĨāĻŽā§‡āĻ‡ āĻāĻ•āĻŸāĻŋ Hello World! āĻŸāĻžāĻ‡āĻĒ āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋāĨ¤ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻĢāĻŋāĻ¸ā§‡āĻ° āĻ•ā§Ÿā§‡āĻ•āĻœāĻ¨ āĻāĻŽāĻĒā§āĻ˛ā§Ÿā§€āĻ° āĻ¨āĻžāĻŽ āĻ“ āĻĒāĻĻāĻŦā§€ (Designation) āĻĻā§‡āĻ–āĻžāĻŦā§‡āĨ¤

āĻ†āĻ¸ā§āĻ¨ āĻĒā§āĻ°āĻĨāĻŽā§‡āĻ‡ āĻ†āĻŽāĻ°āĻž com_team āĻ¨āĻžāĻŽā§‡ āĻāĻ•āĻŸāĻž āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋ āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĢāĻžāĻ‡āĻ˛ āĻ“ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻĨāĻžāĻ•āĻŦā§‡:

Folder Hierarchy

Folder Hierarchy 01

File List
  • \com_team\team.xml
  • \com_team\admin\index.html
  • \com_team\admin\team.php
  • \com_team\admin\sql\index.html
  • \com_team\admin\sql\updates\index.html
  • \com_team\admin\sql\updates\mysql.0.1.sql
  • \com_team\admin\sql\updates\mysql\index.html
  • \com_team\site\index.html
  • \com_team\site\team.php
com_team\team.xml

āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ .xml āĻĢāĻžāĻ‡āĻ˛ āĻ¯āĻž āĻ‡āĻ¨ā§āĻ¸āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°ā§‡āĻ° āĻ°ā§āĻŸā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻ•ā§‹āĻ¨ āĻŸā§āĻ¯āĻžāĻ—ā§‡āĻ° āĻ•āĻžāĻœ āĻ•āĻŋ āĻ¤āĻž āĻŸā§āĻ¯āĻžāĻ—āĻ—ā§āĻ˛ā§‹ āĻĻā§‡āĻ–āĻ˛ā§‡āĻ‡ āĻŦā§‹āĻāĻž āĻ¯āĻžā§ŸāĨ¤ āĻ¯ā§‡āĻŽāĻ¨: āĻŸā§āĻ¯āĻžāĻ—ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¨āĻžāĻŽ āĻāĻŦāĻ‚ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡

āĻŸā§āĻ¯āĻžāĻ—ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ āĻŽā§‡āĻ¨ā§āĻ¤ā§‡ āĻ¯ā§‡ āĻ¨āĻžāĻŽ āĻ¯ā§‹āĻ— āĻšāĻŦā§‡ āĻ¸ā§‡āĻŸāĻŋāĨ¤āĻ¤āĻžāĻ›āĻžā§œāĻž āĻŸā§āĻ¯āĻžāĻ—ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ site  āĻĒāĻžāĻ°ā§āĻŸā§‡ āĻ¯ā§‡ āĻ¸āĻ•āĻ˛ āĻĢāĻžāĻ‡āĻ˛ āĻ…āĻĨāĻŦāĻž āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ° āĻ¯ā§‹āĻ— āĻšāĻŦā§‡ āĻ¤āĻžāĻ° āĻ˛āĻŋāĻˇā§āĻŸ āĻāĻŦāĻ‚ āĻŸā§āĻ¯āĻžāĻ—ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ administrator  āĻĒāĻžāĻ°ā§āĻŸā§‡āĻ° āĻ¸āĻ•āĻ˛ āĻĢāĻžāĻ‡āĻ˛ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ•āĻŽā§‡āĻ¨ā§āĻŸāĻ—ā§āĻ˛ā§‹āĻ“ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

com_team\team.xml
<?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?>
<extension type=&quot;component&quot; version=&quot;1.6.0&quot; method=&quot;upgrade&quot;>
    <name>Team</name>
    <!-- The following elements are optional and free of formatting conttraints -->
    <creationDate>December 2012</creationDate>
    <author>Shamim Reza</author>
    <authorEmail>shamim@localhost</authorEmail>
    <authorUrl>http://localhost</authorUrl>
    <copyright>Copyright Info</copyright>
    <license>License Info</license>
    <!--  The version string is recorded in the components table -->
    <version>0.0.1</version>
    <!-- The description is optional and defaults to the name -->
    <description>This Component will manage your team ...</description>
    <update> <!-- Runs on update; New in 1.6 -->
    <schemas>
        <schemapath type=&quot;mysql&quot;>sql/updates/mysql</schemapath>
    </schemas>
    </update>
    <!-- Site Main File Copy Section -->
    <!-- Note the folder attribute: This attribute describes the folder
        to copy FROM in the package to install therefore files copied
        in this section are copied from /site/ in the package -->
    <files folder=&quot;site&quot;>
    <filename>index.html</filename>
    <filename>team.php</filename>
    </files>
    <administration>
    <!-- Administration Menu Section -->
    <menu>The Team</menu>
    <!-- Administration Main File Copy Section -->
    <!-- Note the folder attribute: This attribute describes the folder to copy FROM in the package to install therefore files copied in this section are copied from /admin/ in the package -->
    <files folder=&quot;admin&quot;>
        <!-- Admin Main File Copy Section -->
        <filename>index.html</filename>
        <filename>team.php</filename>
        <!-- SQL files section -->
        <folder>sql</folder>
    </files>
    </administration>
</extension>
com_team\site\team.php

āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¯āĻž āĻ˛āĻŋāĻ–āĻŦ āĻ¸ā§‡āĻŸāĻŋāĻ‡ āĻ¸āĻžāĻ‡āĻŸā§‡ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§‡āĨ¤

com_team\site\team.php
<h1>Lorem Ipsum</h1>
<h2>Junior Web Developer</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur dui ligula, dapibus in ultricies a, fringilla ut lorem. Sed ante elit, porttitor at egestas at, tempus mollis risus. Nulla at accumsan neque. Vivamus malesuada, tortor a tincidunt facilisis, nunc lacus rutrum nunc, sed molestie nulla sem et nisl. Mauris vitae tincidunt neque. Pellentesque consectetur ligula pretium risus pharetra fringilla. Suspendisse elementum rutrum euismod. Donec at leo massa. Nulla pretium adipiscing sem nec varius. Suspendisse nisl metus, gravida sed tincidunt eu, tempor vel dolor. Morbi lobortis cursus leo cursus vestibulum. Quisque a diam vel est ullamcorper interdum. Nullam lacinia, sapien tempor sodales interdum, nisi purus posuere massa, vel fermentum libero mauris eu enim.</p>
com_team\admin\team.php

āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ†āĻĒāĻžāĻ¤āĻ¤ āĻāĻĄāĻŽāĻŋāĻ¨āĻŋāĻˇā§āĻŸā§āĻ°ā§‡āĻŸāĻ° āĻĒāĻžāĻ°ā§āĻŸā§‡ āĻāĻ•āĻŸāĻŋ āĻĄā§‡āĻŽā§‹ āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻŦā§‡āĨ¤

com_team\admin\team.php
<h1>The Team Administration</h1>
com_team\admin\sql\updates\mysql.0.1.sql

āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻœ āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻ­āĻžāĻ°ā§āĻ¸āĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ†āĻĒāĻžāĻ¤āĻ¤ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻĢāĻžāĻāĻ•āĻžāĻ‡ āĻĨāĻžāĻ•ā§āĻ•āĨ¤

com_team\admin\sql\updates\mysql.0.1.sql

index.html common to all folders

āĻ†āĻŽāĻ°āĻž āĻœāĻžāĻ¨āĻŋ āĻœā§āĻŽāĻ˛āĻžāĻ° āĻ¸āĻ•āĻ˛ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ā§‡āĻ‡ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ•āĻ°ā§‡ index.html āĻĢāĻžāĻ‡āĻ˛ āĻĨāĻžāĻ•ā§‡āĨ¤

index.html
<html><body bgcolor=&quot;#FFFFFF&quot;></body></html>

āĻ‡āĻ¨ā§āĻ¸āĻŸāĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻœāĻŋāĻĒ (.zip) āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¯āĻžāĻĻā§‡āĻ° āĻ†āĻ—ā§‡āĻ‡ āĻ•ā§‹āĻ¨ āĻœā§āĻŽāĻ˛āĻž āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ āĻ‡āĻ¨ā§āĻ¸āĻŸāĻ˛ āĻ•āĻ°āĻžāĻ° āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž āĻ†āĻ›ā§‡ āĻ¤āĻžāĻ°āĻž āĻœāĻžāĻ¨āĻŋ āĻ¯ā§‡, āĻĒā§āĻ°ā§Ÿā§‹āĻœāĻ¨ā§€ā§Ÿ āĻ¸āĻŦ āĻĢāĻžāĻ‡āĻ˛āĻ‡ āĻœāĻŋāĻĒ āĻ†āĻ•āĻžāĻ°ā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻ¤āĻžāĻ‡ āĻŸā§‡āĻŦāĻŋāĻ˛-ā§Ļā§§ āĻāĻ° āĻ¸āĻŦ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛ā§‹ āĻ¨āĻŋā§Ÿā§‡ āĻāĻ•āĻŸāĻŋ āĻ•āĻŽāĻĒā§āĻ°ā§‡āĻ¸āĻĄ .zip āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ āĻ…āĻĨāĻŦāĻž āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§‡ Joomla! extension manager āĻŦā§āĻ¯āĻžāĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ‡āĻ¨ā§āĻ¸āĻŸāĻ˛ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻāĻŦāĻžāĻ° āĻ†āĻĒāĻ¨āĻžāĻ° āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°ā§‡āĻ° āĻāĻĄā§āĻ°ā§‡āĻ¸āĻŦāĻžāĻ°ā§‡ āĻŽā§‡āĻ‡āĻ¨ āĻĄā§‹āĻŽā§‡āĻ‡āĻ¨ā§‡āĻ° āĻĒāĻ° index.php?option=com_team āĻ˛āĻŋāĻ–ā§‡ āĻĻā§‡āĻ–ā§āĻ¨ āĻ¸āĻžāĻ‡āĻŸ āĻĒāĻžāĻ°ā§āĻŸā§‡āĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦā§‡āĻ¨āĨ¤

Site part View

Site part View


āĻāĻŦāĻ‚ āĻ…ā§āĻ¯āĻžāĻĄā§āĻ°ā§‡āĻ¸āĻŦāĻžāĻ°ā§‡  administrator/index.php?option=com_team āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ˛ā§‡ “The Team Administration” āĻ˛ā§‡āĻ–āĻžāĻŸāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦāĨ¤ āĻāĻ›āĻžā§œāĻžāĻ“ āĻ†āĻŽāĻ°āĻž āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°āĻ˛ā§‡ āĻ†āĻ°āĻ“ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦ āĻ¯ā§‡, āĻœā§āĻŽāĻ˛āĻž āĻāĻĄāĻŽāĻŋāĻ¨āĻŋāĻˇā§āĻŸā§āĻ°ā§‡āĻŸāĻ° āĻĒāĻžāĻ°ā§āĻŸā§‡āĻ° Component āĻŽā§‡āĻ¨ā§āĻ¤ā§‡ Team āĻ¨āĻžāĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻšā§āĻ›ā§‡āĨ¤

āĻāĻ‡ āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋā§ŸāĻžāĻ˛ā§‡āĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤āĻŋ āĻĒāĻžāĻ°ā§āĻŸā§‡ āĻ†āĻŽāĻ°āĻž āĻĻā§‡āĻ–āĻŦ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ¸āĻžāĻ‡āĻŸ āĻĒāĻžāĻ°ā§āĻŸā§‡ view āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšā§ŸāĨ¤