Documentation for PHP ORMapper. version 2.0

Size: px
Start display at page:

Download "Documentation for PHP ORMapper. version 2.0"

Transcription

1 Documentation for PHP ORMapper version 2.0

2 Table of Contents Licensing...3 Requirements and installation...4 The Author...4 The Classes...5 Code examples...7

3 Licensing This project is released under the GNU GPL. Anyone who wants to, can use, modify, distribute or sell this code for free (as in free speech, not free beer). For more information on the GNU GPL and what it means, please visit The documentation itself is released under the GNU FDL (

4 Requirements and installation When I developed the PHP ORMapper I used PHP version 5.2.4, MySQL version a. As for the installation, no extra installation is required. Simply just unzip the package to the desired location, and start using it. The Author If you experience any misbehavior, or faults, with the code please contact me and I will see if I can correct it. If you modify it, and make it better be kind to send a copy to me. Björn Wikström bjorn.wikstrom@gmail.com

5 The Classes Most important one: ORMapper The ORMapper class is the heart of the project, of course. final static $MYSQL A constant for defining MySQL as DBMS. final static $MSSQL A constant defining Microsoft SQL Server AS DBMS. final static $PGSQL A constant defining PostgreeSQL as DBMS. ORMapper(constant DBMS, string host, string database, string user, string password) throws ORMapperException The constructor of the class ORMapper takes several arguments which are all required. For specifing a specific port to connect to, change the host to contain both the host and the port, separated by a colon. I.e.: $orm = new ORMapper(ORMapper::MYSQL, localhost:4412, mydb, myusr, MyPwd ); ORMapper(object pdoinstance)throws ORMapperException The constructor can also take only one argument, an instance of the PDO class. object find(type class, mixed var) throws RecordNotFoundException The method find() retrieves a single object of the type specified as the first parameter (Note: not an instance of the class/an object but the class type itself!), using the second parameter as primary key value. void save(object o) throws ORMapperException The method save() saves the specified object to the database. If the object is of a unrecognized type an exception is thrown. void query(type class [, string query]) throws ORMapperException The method query() takes a type as first parameter as the function find and, if a query is specified retrives all records of the type specified matching the query. If no query is specified, all records matching the type is retrived. The method uses parameterized syntax, like prepared statements. The query should look like this: WHERE parameter=:key AND param2=:key2 Note that you shouldn't use SQL keywords like SELECT * FROM or equal. The query() method only handles selections, and specifying the table is not necessary since the type class is specified as a parameter.

6 MappedList execute(array valuepairs) throws ORMapperException The method execute() executes the query() from earlier, returning an instance of the MappedList class filled with objects of the specified type from query(). The method takes an array as a parameter, which should contain the values for the prepared statement as well as the key parameters. A matching call from the query above should be as this: $mappedlist = $orm >execute(array( param => Value1, param2 => Value2 )); void loadrelations(object o) Explicit load of the relations to the object, which must be of the type Recordable and implement at least one of the relationship interfaces. void remove(object o) throws ORMapperException The method remove() removes the specified object from the database. object getpdoinstance() The method returns the underlaying instance of the PDO class. Interface Recordable All classes that should be mapped to a database, should implement the interface Recordable. If they don't, the ORMapper class will reject them when trying to map them to the database. The interface only demands that two methods should be implemented in the child class the getpk() method and the gettablebinding() method. The getpk() method shall return the primary key field of the table. The gettablebindning() method shall return the table name which the instances of the class should be mapped against. Interface OneToMany This is a relationship interface, to mark which classes that will/can be mapped against other classes. The OneToMany interface demands three methods of the implementing class. The getrelatives() method that maps to a class of the type ManyToOne. The method returns a MappedList of instances of that ManyToOne class. The method setrelatives(mappedlist m) which is used when adding related instances to that list. The method getonetomanytype, which should return the type of the mapped class. See the code examples for more information. Interface ManyToOne The same as above, but the other way around. The classes that implements this interface must declare the methods getparent(), setparent(object o) and getmanytoonetype(). The method getparent() should return the One in the relationship, the method setparent(object o) sets the same object and the method getmanytoonetype() should return the type of the related instances. Interface OneToOne The interface OneToOne marks a class with a one to one relationship, using the methods getrelative(), setrelative(object o) and getonetoonetype().

7 Class Record As with the interface Recordable, all classes should extend the class Record otherwise the classes will not be mapped to the database. The Record class only has one method, the tostring() method. You should not override this method unless you are sure on what you are doing. Class MappedList The class MappedList is used as a queue (first in, first out), when retrieving records from the database. void add(object o) Adds the object to the queue. object get(integer index) Retrieves the object at specified position, but keeps it in the queue as well. boolean hasnext() object next() Returns true if there are objects in the queue, false if it is empty. throws MappedListException Returns the next object in line in the queue, and removes it from the queue. Throws an exception if the list is empty. integer size() Returns the size of the queue. array getarray() Returns the queue as an array.

8 Code examples A Recordable Class (MyUser.php) require_once( Recordable.php ); class MyUser extends Record implements Recordable { private $id; private $username; private $ ; public function getid() { return $this >id; public function setid($id) { $this >id = $id; public function getusername() { return $this >username; public function setusername($username) { $this >username = $username; public function get () { return $this > ; public function set ($ ) { $this > = $ ; public function getpk() { return id ; public function gettablebinding() { return Users ; The class that we will be working with in the examples, a simple User class which will be mapped against the table 'Users'. The last two methods are necessary for the bindings to work, and the setters/getters are necessary for the information flow. The name of the setters and getters should be the same as the fields in the table 'Users', using a naming convention similar to the JavaBean naming rules. The database table The table in our database should look like this to match the class: CREATE TABLE Users ( ); id INT NOT NULL AUTO_INCREMENT, username VARCHAR(50) NOT NULL, VARCHAR(50) NOT NULL, PRIMARY KEY(id)

9 Connecting to a database: try { $orm = new ORMapper(ORMapper::MYSQL, localhost, db, username, password ); catch(ormapperexception $e) { die($e >getmessage()); Saving a new user to the database: require_once( MyUser.php ); try { $orm = new ORMapper(ORMapper::MYSQL, localhost, db, username, password ); $u = new MyUser(); $u >setusername( Bob ); $u >set ( bob@myco.com ); $orm >save($u); catch(ormapperexception $e) { die($e >getmessage()); Retrieve a user from the database, using find(): require_once( MyUser.php ); try { $orm = new ORMapper(ORMapper::MYSQL, localhost, db, username, password ); $u = $orm >find(myuser, 1);/* Using the primary key (id) to retrieve the user */... catch(ormapperexception $e) { die($e >getmessage()); catch(recordnotfoundexception $e) { echo No user with id number 1 was found. ;

10 Retrieve all users from the database: require_once( MyUser.php ); try { $orm = new ORMapper(ORMapper::MYSQL, localhost, db, username, password ); $orm >query(myuser); /* Alternatively: */ $orm >query(myuser, ALL ); $mlist = $orm >execute() while($mlist >hasnext()) { $currentuser = $mlist >next(); echo Username:. $currentuser >getusername(); echo <br /> ; echo E mail:. $currentuser >get (); echo <br /> ; catch(... Retrieve users with criteria: require_once( MyUser.php ); try { $orm = new ORMapper(ORMapper::MYSQL, localhost, db, username, password ); $orm >query(myuser, WHERE username=:uname AND =:mail ORDER BY id ); $mlist = $orm >execute(array( :uname => Bob, :mail => bob@myco.com ));... Remove a user from the database: require_once( MyUser.php ); try { $orm = new ORMapper(ORMapper::MYSQL, localhost, db, username, password ); $u = $orm >find(myuser, 1); $orm >remove($u); catch(...

11 Relationships class Fruit extends Record implements Recordable, ManyToOne { private $id; private $type; private $color; private $fruitbowl; function construct($type =, $color = ) { $this >type = $type; $this >color = $color; public function setid($id) { $this >id = $id; public function getid() { return $this >id; public function settype($type) { $this >type = $type; public function gettype() { return $this >type; public function setcolor($color) { $this >color = $color; public function getcolor() { return $this >color; public function getpk() { return id ; public function gettablebindning() { return Fruits ; public function setparent($parent) { $this >fruitbowl = $parent; public function getparent() { return $this >fruitbowl; public function getmanytoonetype() { return Fruitbowl; class Fruitbowl extends Record implements Recordable, OneToMany { private $id; private $manufacturer; private $fruits; public function setid($id) { $this >id = $id; public function getid() { return $this >id; public function setmanufacturer($mf) { $this >manufacturer = $mf; public function getmanufacturer() { return $this >manufacturer; public function getpk() { return id ; public function gettablebinding() { return Fruitbowls ; public function setrelatives($fruits) { $this >fruits = $fruits; public function getrelatives() { return $this >fruits; public function getonetomanytype() { return Fruit;

12 $orm = new ORMapper(ORMapper::MYSQL, localhost, database, username, password ); $bowl = new Fruitbowl(); $list = new MappedList(); $f = new Fruit(); $f >settype( banana ); $f >setcolor( yellow ); $list >add($f); $f = new Fruit( apple, red ); $list >add($f); $bowl >setmanufacturer( Kosta Boda ) $bowl >setrelatives($list); $orm >save($bowl); $orm >query(fruit, WHERE type=:t ); $list = $orm >execute(array( :t => apple )); while($list >hasnext()) { $currentfruit = $list >next(); echo This fruit is a/an. $currentfruit >gettype(); echo and is in a bowl from. $currentfruit >getparent() >getmanufacturer()

Using PHP with MYSQL

Using PHP with MYSQL Using PHP with MYSQL PHP & MYSQL So far you've learned the theory behind relational databases and worked directly with MySQL through the mysql command-line tool. Now it's time to get your PHP scripts talking

More information

PHP: Databases and Classes. CS174. Chris Pollett. Sep 29, 2008.

PHP: Databases and Classes. CS174. Chris Pollett. Sep 29, 2008. PHP: Databases and Classes. CS174. Chris Pollett. Sep 29, 2008. Outline. Databases. Classes. Connecting to MySQL from PHP. To start a connect to a MySQL database one can issue the command: $db = mysql_connect();

More information

COMP284 Scripting Languages Lecture 13: PHP (Part 5) Handouts

COMP284 Scripting Languages Lecture 13: PHP (Part 5) Handouts COMP284 Scripting Languages Lecture 13: PHP (Part 5) Handouts Ullrich Hustadt Department of Computer Science School of Electrical Engineering, Electronics, and Computer Science University of Liverpool

More information

SQL Functionality SQL. Creating Relation Schemas. Creating Relation Schemas

SQL Functionality SQL. Creating Relation Schemas. Creating Relation Schemas SQL SQL Functionality stands for Structured Query Language sometimes pronounced sequel a very-high-level (declarative) language user specifies what is wanted, not how to find it number of standards original

More information

Binghamton University. CS-140 Fall Problem Solving. Creating a class from scratch

Binghamton University. CS-140 Fall Problem Solving. Creating a class from scratch Problem Solving Creating a class from scratch 1 Recipe for Writing a Class 1. Write the class boilerplate stuff 2. Declare Fields 3. Write Creator(s) 4. Write accessor methods 5. Write mutator methods

More information

Chapters 10 & 11 PHP AND MYSQL

Chapters 10 & 11 PHP AND MYSQL Chapters 10 & 11 PHP AND MYSQL Getting Started The database for a Web app would be created before accessing it from the web. Complete the design and create the tables independently. Use phpmyadmin, for

More information

user specifies what is wanted, not how to find it

user specifies what is wanted, not how to find it SQL stands for Structured Query Language sometimes pronounced sequel a very-high-level (declarative) language user specifies what is wanted, not how to find it number of standards original ANSI SQL updated

More information

API Documentation for PHP Clients

API Documentation for PHP Clients Introducing the Gold Lasso API API Documentation for PHP Clients The eloop API provides programmatic access to your organization s information using a simple, powerful, and secure application programming

More information

COMP 430 Intro. to Database Systems. SQL from application code

COMP 430 Intro. to Database Systems. SQL from application code COMP 430 Intro. to Database Systems SQL from application code Some issues How to connect to database Where, what type, user credentials, How to send SQL commands How to get communicate data to/from DB

More information

IELM 511 Information Systems Design Labs 5 and 6. DB creation and Population

IELM 511 Information Systems Design Labs 5 and 6. DB creation and Population IELM 511 Information Systems Design Labs 5 and 6. DB creation and Population In this lab, your objective is to learn the basics of creating and managing a DB system. One way to interact with the DBMS (MySQL)

More information

Development Technologies. Agenda: phpmyadmin 2/20/2016. phpmyadmin MySQLi. Before you can put your data into a table, that table should exist.

Development Technologies. Agenda: phpmyadmin 2/20/2016. phpmyadmin MySQLi. Before you can put your data into a table, that table should exist. CIT 736: Internet and Web Development Technologies Lecture 10 Dr. Lupiana, DM FCIM, Institute of Finance Management Semester 1, 2016 Agenda: phpmyadmin MySQLi phpmyadmin Before you can put your data into

More information

Tutorial letter 104/1/2018

Tutorial letter 104/1/2018 Tutorial letter 104/1/2018 Advanced Internet Programming ICT3612 Semester 1 Exam letter School of Computing Exam tutorial letter Dear Student The ICT3612 examination is a written examination. You will

More information

Java Object Oriented Design. CSC207 Fall 2014

Java Object Oriented Design. CSC207 Fall 2014 Java Object Oriented Design CSC207 Fall 2014 Design Problem Design an application where the user can draw different shapes Lines Circles Rectangles Just high level design, don t write any detailed code

More information

C++ Important Questions with Answers

C++ Important Questions with Answers 1. Name the operators that cannot be overloaded. sizeof,.,.*,.->, ::,? 2. What is inheritance? Inheritance is property such that a parent (or super) class passes the characteristics of itself to children

More information

24. Inheritance. Java. Fall 2009 Instructor: Dr. Masoud Yaghini

24. Inheritance. Java. Fall 2009 Instructor: Dr. Masoud Yaghini 24. Inheritance Java Fall 2009 Instructor: Dr. Masoud Yaghini Outline Superclasses and Subclasses Using the super Keyword Overriding Methods The Object Class References Superclasses and Subclasses Inheritance

More information

Introduction to Programming Using Java (98-388)

Introduction to Programming Using Java (98-388) Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;

More information

Pagina 1 di 5 13.1.4. INSERT Syntax 13.1.4.1. INSERT... SELECT Syntax 13.1.4.2. INSERT DELAYED Syntax INSERT [LOW_PRIORITY DELAYED HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] VALUES ({expr

More information

6.Introducing Classes 9. Exceptions

6.Introducing Classes 9. Exceptions 6.Introducing Classes 9. Exceptions Sisoft Technologies Pvt Ltd SRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad Website: www.sisoft.in Email:info@sisoft.in Phone: +91-9999-283-283 Learning

More information

22. Inheritance. Java. Summer 2008 Instructor: Dr. Masoud Yaghini

22. Inheritance. Java. Summer 2008 Instructor: Dr. Masoud Yaghini 22. Inheritance Java Summer 2008 Instructor: Dr. Masoud Yaghini Outline Superclasses and Subclasses Using the super Keyword Overriding Methods The Object Class References Inheritance Object-oriented programming

More information

Lecture 2: Java & Javadoc

Lecture 2: Java & Javadoc Lecture 2: Java & Javadoc CS 62 Fall 2018 Alexandra Papoutsaki & William Devanny 1 Instance Variables or member variables or fields Declared in a class, but outside of any method, constructor or block

More information

Module 3 MySQL Database. Database Management System

Module 3 MySQL Database. Database Management System Module 3 MySQL Database Module 3 Contains 2 components Individual Assignment Group Assignment BOTH are due on Mon, Feb 19th Read the WIKI before attempting the lab Extensible Networking Platform 1 1 -

More information

OO and Ahh! An Introduction to Object Oriented Programming With PHP. Division 1 Systems. John Valance. Copyright John Valance Division 1 Systems

OO and Ahh! An Introduction to Object Oriented Programming With PHP. Division 1 Systems. John Valance. Copyright John Valance Division 1 Systems OO and Ahh! An Introduction to Object Oriented Programming With PHP John Valance Division 1 Systems johnv@div1sys.com Copyright John Valance Division 1 Systems About John Valance 30+ years IBM midrange

More information

Object Oriented Programming

Object Oriented Programming Object Oriented Programming Objectives To review the concepts and terminology of object-oriented programming To discuss some features of objectoriented design 1-2 Review: Objects In Java and other Object-Oriented

More information

MySQL: Access Via PHP

MySQL: Access Via PHP MySQL: Access Via PHP CISC 282 November 15, 2017 phpmyadmin: Login http://cisc282.caslab. queensu.ca/phpmyadmin/ Use your NetID and CISC 282 password to log in 2 phpmyadmin: Select DB Clicking on this

More information

Hello everyone! Page 1. Your folder should look like this. To start with Run your XAMPP app and start your Apache and MySQL.

Hello everyone! Page 1. Your folder should look like this. To start with Run your XAMPP app and start your Apache and MySQL. Hello everyone! Welcome to our PHP + MySQL (Easy to learn) E.T.L. free online course Hope you have installed your XAMPP? And you have created your forms inside the studio file in the htdocs folder using

More information

escuela técnica superior de ingeniería informática

escuela técnica superior de ingeniería informática Tiempo: 2h escuela técnica superior de ingeniería informática Versión original: José Antonio Parejo y Manuel Resinas (diciembre 2008) Última revisión: Amador Durán y David Benavides (diciembre 2006); revisión

More information

public static boolean isoutside(int min, int max, int value)

public static boolean isoutside(int min, int max, int value) See the 2 APIs attached at the end of this worksheet. 1. Methods: Javadoc Complete the Javadoc comments for the following two methods from the API: (a) / @param @param @param @return @pre. / public static

More information

Inheritance (Part 5) Odds and ends

Inheritance (Part 5) Odds and ends Inheritance (Part 5) Odds and ends 1 Static Methods and Inheritance there is a significant difference between calling a static method and calling a non-static method when dealing with inheritance there

More information

Mount Saint Mary College, Newburgh, NY Internet Programming III - CIT310

Mount Saint Mary College, Newburgh, NY Internet Programming III - CIT310 Warm up mini-lab Lab 1 - Functions Type in the following function definition and calls to the function. Test it and understand it. function myprint($str= No String Supplied ) // the argument is optional

More information

Implementing a List in Java. CSE 143 Java. Just an Illusion? List Interface (review) Using an Array to Implement a List.

Implementing a List in Java. CSE 143 Java. Just an Illusion? List Interface (review) Using an Array to Implement a List. Implementing a List in Java CSE 143 Java List Implementation Using Arrays Reading: Ch. 13 Two implementation approaches are most commonly used for simple lists: Arrays Linked list Java Interface List concrete

More information

The Java Collections Framework and Lists in Java Parts 1 & 2

The Java Collections Framework and Lists in Java Parts 1 & 2 The Java Collections Framework and Lists in Java Parts 1 & 2 Chapter 9 Chapter 6 (6.1-6.2.2) CS 2334 University of Oklahoma Brian F. Veale Groups of Data Data are very important to Software Engineering

More information

COP 3330 Final Exam Review

COP 3330 Final Exam Review COP 3330 Final Exam Review I. The Basics (Chapters 2, 5, 6) a. comments b. identifiers, reserved words c. white space d. compilers vs. interpreters e. syntax, semantics f. errors i. syntax ii. run-time

More information

PHP: Hypertext Preprocessor. A tutorial Introduction

PHP: Hypertext Preprocessor. A tutorial Introduction PHP: Hypertext Preprocessor A tutorial Introduction Introduction PHP is a server side scripting language Primarily used for generating dynamic web pages and providing rich web services PHP5 is also evolving

More information

Database Connectivity using PHP Some Points to Remember:

Database Connectivity using PHP Some Points to Remember: Database Connectivity using PHP Some Points to Remember: 1. PHP has a boolean datatype which can have 2 values: true or false. However, in PHP, the number 0 (zero) is also considered as equivalent to False.

More information

A JavaBean is a class file that stores Java code for a JSP

A JavaBean is a class file that stores Java code for a JSP CREATE A JAVABEAN A JavaBean is a class file that stores Java code for a JSP page. Although you can use a scriptlet to place Java code directly into a JSP page, it is considered better programming practice

More information

DRAFT 10/8/03. Open Service Interface Definition. Hierarchy

DRAFT 10/8/03. Open Service Interface Definition. Hierarchy Open Service Interface efinition ocument Release: 0.2 OSI Release: 1.0 rc6 Summary The Open Service Interface efinition (OSI) provides a means of creating and traversing hierarchical structures of various

More information

Java classes cannot extend multiple superclasses (unlike Python) but classes can implement multiple interfaces.

Java classes cannot extend multiple superclasses (unlike Python) but classes can implement multiple interfaces. CSM 61B Abstract Classes & Interfaces Spring 2017 Week 5: February 13, 2017 1 An Appealing Appetizer 1.1 public interface Consumable { public void consume (); public abstract class Food implements Consumable

More information

PHP: Cookies, Sessions, Databases. CS174. Chris Pollett. Sep 24, 2008.

PHP: Cookies, Sessions, Databases. CS174. Chris Pollett. Sep 24, 2008. PHP: Cookies, Sessions, Databases. CS174. Chris Pollett. Sep 24, 2008. Outline. How cookies work. Cookies in PHP. Sessions. Databases. Cookies. Sometimes it is useful to remember a client when it comes

More information

The ArrayList class CSC 123 Fall 2018 Howard Rosenthal

The ArrayList class CSC 123 Fall 2018 Howard Rosenthal The ArrayList class CSC 123 Fall 2018 Howard Rosenthal Lesson Goals Describe the ArrayList class Discuss important methods of this class Describe how it can be used in modeling Much of the information

More information

Inheritance. Transitivity

Inheritance. Transitivity Inheritance Classes can be organized in a hierarchical structure based on the concept of inheritance Inheritance The property that instances of a sub-class can access both data and behavior associated

More information

LAMP Apps. Overview. Learning Outcomes: At the completion of the lab you should be able to:

LAMP Apps. Overview. Learning Outcomes: At the completion of the lab you should be able to: LAMP Apps Overview This lab walks you through using Linux, Apache, MySQL and PHP (LAMP) to create simple, yet very powerful PHP applications connected to a MySQL database. For developers using Windows,

More information

CSC Java Programming, Fall Java Data Types and Control Constructs

CSC Java Programming, Fall Java Data Types and Control Constructs CSC 243 - Java Programming, Fall 2016 Java Data Types and Control Constructs Java Types In general, a type is collection of possible values Main categories of Java types: Primitive/built-in Object/Reference

More information

APCS Unit 5 Exam. Assuming all four classes have a default constructor, which of the following statements would result in an error from the compiler?

APCS Unit 5 Exam. Assuming all four classes have a default constructor, which of the following statements would result in an error from the compiler? APCS Unit 5 Exam Name 1. Suppose we had a superclass called Fruit. The subclasses of this superclass are Apple, Orange, and Banana. Consider the following reference variable declarations. Fruit f; Banana

More information

Understanding Inheritance and Interfaces

Understanding Inheritance and Interfaces Chapter 8 Objectives Understanding Inheritance and Interfaces In this chapter, you will: Implement the Boat generalization/specialization class hierarchy Understand abstract and final classes and the MustInherit

More information

CSE 143 SAMPLE MIDTERM

CSE 143 SAMPLE MIDTERM CSE 143 SAMPLE MIDTERM 1. (5 points) In some methods, you wrote code to check if a certain precondition was held. If the precondition did not hold, then you threw an exception. This leads to robust code

More information

Module 8 The Java Persistence API

Module 8 The Java Persistence API Module 8 The Java Persistence API Objectives Describe the role of the Java Persistence API (JPA) in a Java EE application Describe the basics of Object Relational Mapping Describe the elements and environment

More information

Index COPYRIGHTED MATERIAL

Index COPYRIGHTED MATERIAL Index COPYRIGHTED MATERIAL Note to the Reader: Throughout this index boldfaced page numbers indicate primary discussions of a topic. Italicized page numbers indicate illustrations. A abstract classes

More information

Oops known as object-oriented programming language system is the main feature of C# which further support the major features of oops including:

Oops known as object-oriented programming language system is the main feature of C# which further support the major features of oops including: Oops known as object-oriented programming language system is the main feature of C# which further support the major features of oops including: Abstraction Encapsulation Inheritance and Polymorphism Object-Oriented

More information

Type Hierarchy. Comp-303 : Programming Techniques Lecture 9. Alexandre Denault Computer Science McGill University Winter 2004

Type Hierarchy. Comp-303 : Programming Techniques Lecture 9. Alexandre Denault Computer Science McGill University Winter 2004 Type Hierarchy Comp-303 : Programming Techniques Lecture 9 Alexandre Denault Computer Science McGill University Winter 2004 February 16, 2004 Lecture 9 Comp 303 : Programming Techniques Page 1 Last lecture...

More information

CSC System Development with Java. Database Connection. Department of Statistics and Computer Science. Budditha Hettige

CSC System Development with Java. Database Connection. Department of Statistics and Computer Science. Budditha Hettige CSC 308 2.0 System Development with Java Database Connection Budditha Hettige Department of Statistics and Computer Science Budditha Hettige 1 From database to Java There are many brands of database: Microsoft

More information

COMP 401 Spring 2014 Midterm 1

COMP 401 Spring 2014 Midterm 1 COMP 401 Spring 2014 Midterm 1 I have not received nor given any unauthorized assistance in completing this exam. Signature: Name: PID: Please be sure to put your PID at the top of each page. This page

More information

CS-202 Introduction to Object Oriented Programming

CS-202 Introduction to Object Oriented Programming CS-202 Introduction to Object Oriented Programming California State University, Los Angeles Computer Science Department Lecture III Inheritance and Polymorphism Introduction to Inheritance Introduction

More information

Computer Science 2 Lecture 4 Inheritance: Trinidad Fruit Stand 02/15/2014 Revision : 1.7

Computer Science 2 Lecture 4 Inheritance: Trinidad Fruit Stand 02/15/2014 Revision : 1.7 Computer Science 2 Lecture 4 Inheritance: Trinidad Fruit Stand 02/15/2014 Revision : 1.7 1 Problem Ralph owns the Trinidad Fruit Stand that sells its fruit on the street, and he wants to use a computer

More information

COM1004 Web and Internet Technology

COM1004 Web and Internet Technology COM1004 Web and Internet Technology When a user submits a web form, how do we save the information to a database? How do we retrieve that data later? ID NAME EMAIL MESSAGE TIMESTAMP 1 Mike mike@dcs Hi

More information

Object Oriented Programming

Object Oriented Programming Object Oriented Programming Objectives To review the concepts and terminology of object-oriented programming To discuss some features of objectoriented design 1-2 Review: Objects In Java and other Object-Oriented

More information

Comp 519: Web Programming Autumn 2015

Comp 519: Web Programming Autumn 2015 Comp 519: Web Programming Autumn 2015 Advanced SQL and PHP Advanced queries Querying more than one table Searching tables to find information Aliasing tables PHP functions for using query results Using

More information

B. V. Patel Institute of BMC & IT 2014

B. V. Patel Institute of BMC & IT 2014 Unit 1: Introduction Short Questions: 1. What are the rules for writing PHP code block? 2. Explain comments in your program. What is the purpose of comments in your program. 3. How to declare and use constants

More information

Ark Database Documentation

Ark Database Documentation Ark Database Documentation Release 0.1.0 Liu Dong Nov 24, 2017 Contents 1 Introduction 3 1.1 What s included............................................. 3 1.2 Supported Drivers............................................

More information

Web Application Development (WAD) V th Sem BBAITM(Unit-1) By: Binit Patel

Web Application Development (WAD) V th Sem BBAITM(Unit-1) By: Binit Patel Web Application Development (WAD) V th Sem BBAITM(Unit-1) By: Binit Patel Introduction: PHP (Hypertext Preprocessor) was invented by Rasmus Lerdorf in 1994. First it was known as Personal Home Page. Later

More information

Clean Code in Small Companies

Clean Code in Small Companies Clean Code in Small Companies Stock photo, not actual developer Stock photo, not actual developer Stock photo, not actual developer Robert C. Martin Uncle Bob 1. Reading code is hard 1. Reading code

More information

Object Oriented Programming is a programming method that combines: Advantage of Object Oriented Programming

Object Oriented Programming is a programming method that combines: Advantage of Object Oriented Programming Overview of OOP Object Oriented Programming is a programming method that combines: a) Data b) Instructions for processing that data into a self-sufficient object that can be used within a program or in

More information

Programming Assignment Comma Separated Values Reader Page 1

Programming Assignment Comma Separated Values Reader Page 1 Programming Assignment Comma Separated Values Reader Page 1 Assignment What to Submit 1. Write a CSVReader that can read a file or URL that contains data in CSV format. CSVReader provides an Iterator for

More information

Java How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved.

Java How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved. Java How to Program, 10/e Copyright 1992-2015 by Pearson Education, Inc. All Rights Reserved. Data structures Collections of related data items. Discussed in depth in Chapters 16 21. Array objects Data

More information

CS1150 Principles of Computer Science Objects and Classes

CS1150 Principles of Computer Science Objects and Classes CS1150 Principles of Computer Science Objects and Classes Yanyan Zhuang Department of Computer Science http://www.cs.uccs.edu/~yzhuang CS1150 UC. Colorado Springs Object-Oriented Thinking Chapters 1-8

More information

The connection has timed out

The connection has timed out 1 of 7 2/17/2018, 7:46 AM Mukesh Chapagain Blog PHP Magento jquery SQL Wordpress Joomla Programming & Tutorial HOME ABOUT CONTACT ADVERTISE ARCHIVES CATEGORIES MAGENTO Home» PHP PHP: CRUD (Add, Edit, Delete,

More information

Classes and Methods גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון

Classes and Methods גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון Classes and Methods גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון 2 Roadmap Lectures 4 and 5 present two sides of OOP: Lecture 4 discusses the static, compile time representation of object-oriented

More information

SQL: Concepts. Todd Bacastow IST 210: Organization of Data 2/17/ IST 210

SQL: Concepts. Todd Bacastow IST 210: Organization of Data 2/17/ IST 210 SQL: Concepts Todd Bacastow IST 210: Organization of Data 2/17/2004 1 Design questions How many entities are there? What are the major entities? What are the attributes of each entity? Is there a unique

More information

CSC System Development with Java. Exception Handling. Department of Statistics and Computer Science. Budditha Hettige

CSC System Development with Java. Exception Handling. Department of Statistics and Computer Science. Budditha Hettige CSC 308 2.0 System Development with Java Exception Handling Department of Statistics and Computer Science 1 2 Errors Errors can be categorized as several ways; Syntax Errors Logical Errors Runtime Errors

More information

public static void main(string[] args) throws FileNotFoundException { ArrayList<Vehicle> arrayofvehicles = new ArrayList<Vehicle>();

public static void main(string[] args) throws FileNotFoundException { ArrayList<Vehicle> arrayofvehicles = new ArrayList<Vehicle>(); import java.io.*; import java.util.*; import java.text.*; import java.lang.*; // Class n00845431 public class Project4 static class EmailComparator implements Comparator public int compare(vehicle

More information

CS201- Introduction to Programming Current Quizzes

CS201- Introduction to Programming Current Quizzes CS201- Introduction to Programming Current Quizzes Q.1 char name [] = Hello World ; In the above statement, a memory of characters will be allocated 13 11 12 (Ans) Q.2 A function is a block of statements

More information

3.Constructors and Destructors. Develop cpp program to implement constructor and destructor.

3.Constructors and Destructors. Develop cpp program to implement constructor and destructor. 3.Constructors and Destructors Develop cpp program to implement constructor and destructor. Constructors A constructor is a special member function whose task is to initialize the objects of its class.

More information

Documenting Advanced Programming Techniques

Documenting Advanced Programming Techniques Documenting Advanced Programming Techniques https://no.wikipedia.org/wiki/tastatur#/media/file:computer_keyboard.png Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Agenda 1. Documenting

More information

CSE 143 Lecture 26. Advanced collection classes. (ADTs; abstract classes; inner classes; generics; iterators) read 11.1, 9.6, ,

CSE 143 Lecture 26. Advanced collection classes. (ADTs; abstract classes; inner classes; generics; iterators) read 11.1, 9.6, , CSE 143 Lecture 26 Advanced collection classes (ADTs; abstract classes; inner classes; generics; iterators) read 11.1, 9.6, 15.3-15.4, 16.4-16.5 slides created by Marty Stepp, adapted by Alyssa Harding

More information

Database Systems. phpmyadmin Tutorial

Database Systems. phpmyadmin Tutorial phpmyadmin Tutorial Please begin by logging into your Student Webspace. You will access the Student Webspace by logging into the Campus Common site. Go to the bottom of the page and click on the Go button

More information

CS/B.TECH/CSE(New)/SEM-5/CS-504D/ OBJECT ORIENTED PROGRAMMING. Time Allotted : 3 Hours Full Marks : 70 GROUP A. (Multiple Choice Type Question)

CS/B.TECH/CSE(New)/SEM-5/CS-504D/ OBJECT ORIENTED PROGRAMMING. Time Allotted : 3 Hours Full Marks : 70 GROUP A. (Multiple Choice Type Question) CS/B.TECH/CSE(New)/SEM-5/CS-504D/2013-14 2013 OBJECT ORIENTED PROGRAMMING Time Allotted : 3 Hours Full Marks : 70 The figures in the margin indicate full marks. Candidates are required to give their answers

More information

Handout 9 OO Inheritance.

Handout 9 OO Inheritance. Handout 9 CS603 Object-Oriented Programming Fall 2016 Page 1 of 11 Handout 9 OO Inheritance. All classes in Java form a hierarchy. The top of the hierarchy is class Object Example: classicalarchives.com

More information

Brief Summary of Java

Brief Summary of Java Brief Summary of Java Java programs are compiled into an intermediate format, known as bytecode, and then run through an interpreter that executes in a Java Virtual Machine (JVM). The basic syntax of Java

More information

Hierarchical inheritance: Contains one base class and multiple derived classes of the same base class.

Hierarchical inheritance: Contains one base class and multiple derived classes of the same base class. 1. What is C#? C# (pronounced "C sharp") is a simple, modern, object oriented, and type safe programming language. It will immediately be familiar to C and C++ programmers. C# combines the high productivity

More information

Compiler Errors. Flash CS4 Professional ActionScript 3.0 Language Reference. 1 of 18 9/6/2010 9:40 PM

Compiler Errors. Flash CS4 Professional ActionScript 3.0 Language Reference. 1 of 18 9/6/2010 9:40 PM 1 of 18 9/6/2010 9:40 PM Flash CS4 Professional ActionScript 3.0 Language Reference Language Reference only Compiler Errors Home All Packages All Classes Language Elements Index Appendixes Conventions

More information

Chapter 15: Object Oriented Programming

Chapter 15: Object Oriented Programming Chapter 15: Object Oriented Programming Think Java: How to Think Like a Computer Scientist 5.1.2 by Allen B. Downey How do Software Developers use OOP? Defining classes to create objects UML diagrams to

More information

Introduction to Databases and SQL

Introduction to Databases and SQL Introduction to Databases and SQL Files vs Databases In the last chapter you learned how your PHP scripts can use external files to store and retrieve data. Although files do a great job in many circumstances,

More information

SQLite Database. References. Overview. Structured Databases

SQLite Database. References. Overview. Structured Databases SQLite Database References Android Developers Article https://developer.android.com/training/basics/data-storage/databases.html Android SQLite Package Reference https://developer.android.com/reference/android/database/sqlite/package-summary.html

More information

1 sur 14 13/12/2011 15:35 The methods and properties in this chapter allow you to manage the Directory, Group, and User objects. These objects are used to handle your application's security access system.

More information

CH. 2 OBJECT-ORIENTED PROGRAMMING

CH. 2 OBJECT-ORIENTED PROGRAMMING CH. 2 OBJECT-ORIENTED PROGRAMMING ACKNOWLEDGEMENT: THESE SLIDES ARE ADAPTED FROM SLIDES PROVIDED WITH DATA STRUCTURES AND ALGORITHMS IN JAVA, GOODRICH, TAMASSIA AND GOLDWASSER (WILEY 2016) OBJECT-ORIENTED

More information

COMP 401 Spring 2013 Midterm 1

COMP 401 Spring 2013 Midterm 1 COMP 401 Spring 2013 Midterm 1 I have not received nor given any unauthorized assistance in completing this exam. Signature: Name: PID: Please be sure to put your PID at the top of each page. This page

More information

PHP Personal Home Page PHP: Hypertext Preprocessor (Lecture 35-37)

PHP Personal Home Page PHP: Hypertext Preprocessor (Lecture 35-37) PHP Personal Home Page PHP: Hypertext Preprocessor (Lecture 35-37) A Server-side Scripting Programming Language An Introduction What is PHP? PHP stands for PHP: Hypertext Preprocessor. It is a server-side

More information

Lecture 3. COMP1006/1406 (the Java course) Summer M. Jason Hinek Carleton University

Lecture 3. COMP1006/1406 (the Java course) Summer M. Jason Hinek Carleton University Lecture 3 COMP1006/1406 (the Java course) Summer 2014 M. Jason Hinek Carleton University today s agenda assignments 1 (graded) & 2 3 (available now) & 4 (tomorrow) a quick look back primitive data types

More information

Java Classes. Produced by. Introduction to the Java Programming Language. Eamonn de Leastar

Java Classes. Produced by. Introduction to the Java Programming Language. Eamonn de Leastar Java Classes Introduction to the Java Programming Language Produced by Eamonn de Leastar edeleastar@wit.ie Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie

More information

CS6501 IP Unit IV Page 1

CS6501 IP Unit IV Page 1 CS6501 Internet Programming Unit IV Part - A 1. What is PHP? PHP - Hypertext Preprocessor -one of the most popular server-side scripting languages for creating dynamic Web pages. - an open-source technology

More information

INHERITANCE. Spring 2019

INHERITANCE. Spring 2019 INHERITANCE Spring 2019 INHERITANCE BASICS Inheritance is a technique that allows one class to be derived from another A derived class inherits all of the data and methods from the original class Suppose

More information

public static void negate2(list<integer> t)

public static void negate2(list<integer> t) See the 2 APIs attached at the end of this worksheet. 1. Methods: Javadoc Complete the Javadoc comments for the following two methods from the API: (a) / @param @param @param @return @pre. / public static

More information

CS 162, Lecture 25: Exam II Review. 30 May 2018

CS 162, Lecture 25: Exam II Review. 30 May 2018 CS 162, Lecture 25: Exam II Review 30 May 2018 True or False Pointers to a base class may be assigned the address of a derived class object. In C++ polymorphism is very difficult to achieve unless you

More information

AN INTRODUCTION TO WEB PROGRAMMING. Dr. Hossein Hakimzadeh Department of Computer and Information Sciences Indiana University South Bend, IN

AN INTRODUCTION TO WEB PROGRAMMING. Dr. Hossein Hakimzadeh Department of Computer and Information Sciences Indiana University South Bend, IN AN INTRODUCTION TO WEB PROGRAMMING Dr. Hossein Hakimzadeh Department of Computer and Information Sciences Indiana University South Bend, IN HISTORY Developed by Michael Widenius. Initially release in 1995.

More information

Programming Kotlin. Familiarize yourself with all of Kotlin s features with this in-depth guide. Stephen Samuel Stefan Bocutiu BIRMINGHAM - MUMBAI

Programming Kotlin. Familiarize yourself with all of Kotlin s features with this in-depth guide. Stephen Samuel Stefan Bocutiu BIRMINGHAM - MUMBAI Programming Kotlin Familiarize yourself with all of Kotlin s features with this in-depth guide Stephen Samuel Stefan Bocutiu BIRMINGHAM - MUMBAI Programming Kotlin Copyright 2017 Packt Publishing First

More information

What data persistence means? We manipulate data (represented as object state) that need to be stored

What data persistence means? We manipulate data (represented as object state) that need to be stored 1 Data Persistence What data persistence means? We manipulate data (represented as object state) that need to be stored persistently to survive a single run of the application queriably to be able to retrieve/access

More information

SQL DATA DEFINITION LANGUAGE

SQL DATA DEFINITION LANGUAGE SQL DATA DEFINITION LANGUAGE DATABASE SCHEMAS IN SQL SQL is primarily a query language, for getting information from a database. DML: Data Manipulation Language SFWR ENG 3DB3 FALL 2016 MICHAEL LIUT (LIUTM@MCMASTER.CA)

More information

What is MySQL? [Document provides the fundamental operations of PHP-MySQL connectivity]

What is MySQL? [Document provides the fundamental operations of PHP-MySQL connectivity] What is MySQL? [Document provides the fundamental operations of PHP-MySQL connectivity] MySQL is a database. A database defines a structure for storing information. In a database, there are tables. Just

More information

CSE wi Midterm Exam 2/8/18. Name UW ID #

CSE wi Midterm Exam 2/8/18. Name UW ID # Name UW ID # There are 11 questions worth a total of 120 points. Please budget your time so you get to all of the questions. Keep your answers brief and to the point. The exam is closed book, closed notes,

More information

Recite CMS Web Services PHP Client Guide. Recite CMS Web Services Client

Recite CMS Web Services PHP Client Guide. Recite CMS Web Services Client Recite CMS Web Services PHP Client Guide Recite CMS Web Services Client Recite CMS Web Services PHP Client Guide Copyright 2009 Recite Pty Ltd Table of Contents 1. Getting Started... 1 Adding the Bundled

More information

PHP. Main object oriented features (from php5 power programming)

PHP. Main object oriented features (from php5 power programming) PHP Main object oriented features (from php5 power programming) OO Model A OOP is a collection of objects An object has properties State (private data) An object has methods Every object is an instance

More information