17
PHP Libraries

PHP Libraries

Embed Size (px)

DESCRIPTION

Learn how to include external and third party libraries into your application in prodigyview

Citation preview

Page 1: PHP Libraries

PHP Libraries

Page 2: PHP Libraries

Overview

Objective

Learn the basics of adding external libraries in ProdigyView.

Requirements

Understanding of the DEFINES

Estimated Time

12 Minutes

Page 3: PHP Libraries

Follow Along With Code Example

1. Download a copy of the example code at www.prodigyview.com/source.

2. Install the system in an environment you feel comfortable testing in.

3.Proceed to examples/system/Libraries_PHP.php

Page 4: PHP Libraries

The Purpose of LibrariesThe purpose of libraries is to add third party extensions into your application. Libraries differ from applications and plugins in that they do not require a database.

In this tutorial, we are going to expand a functions functionality by using libraries

Page 5: PHP Libraries

Libraries Location

If you remember the tutorial on the defines, there was a a definition called PV_LIBARIES. There is where you will add your library. Following the examples, our library setup should looking something like below.

Page 6: PHP Libraries

Take Notice!Take a second to notice how the files are named. This will become important in a moment.

Notice two files end with .class.php

Only ends with .php

Page 7: PHP Libraries

Disable LibrariesFor our example, we are going to disable the libraries in the bootstrap. This is done so we can go through the process of learning about the libraries. Bootstrap will normally handle loading the libraries for you.

1. Disable the calling of PVLibraries::init

2. Make sure no libraries are loaded

Page 8: PHP Libraries

Flip SwitchLets create our method called flipSwitch(). flipSwitch calls certain methods if they exist.

Only executes if class is included

Page 9: PHP Libraries

Execute Flip Switch

For our first test, we are going to execute flipSwitch() to see the results. According to our last slide, we should only get results if the class was found.

Page 10: PHP Libraries

Add A LibraryAs expected, no classes were found. Now we are going to add the libraries. The code below looks for our folder ‘pv_switch’, which is located in the defined PV_LIBRARIES folder. And we are only looking for files that end with .class.php

1. The name/folder of the library 2. The allowed extension(s) of the files that will be loaded

3. Loads all the libraries that have been added

Page 11: PHP Libraries

Test Number 2With the libraries loaded, lets test flipSwitch() again. The result should change.

Page 12: PHP Libraries

Add All The librariesWe’ve made some progress but we are still missing a class. What went wrong? In our last example we loaded all classes that ended with .class.php. This time we are going to load all the classes in the library.

1. Set the name/folder of the library to load

2. With no set extensions, all files that end with .php will be included

3. Load only the library defined

Page 13: PHP Libraries

Test 3 ResultsBecause no extension type was set, it will load the default of all files that end with .php

Page 14: PHP Libraries

The Code

If you are a little confused about what happened, look through the source code of these files. You will see that they contain the classes that were loaded.

Page 15: PHP Libraries

Challenge!

This is an optional challenge designed to improve your understanding of the libraries and ProdigyView.

1. Create a library that adds an Observer(see the observer design pattern tutorial) to the protected method PVLibraries::_loadLibrary().

2. Have the class/method added to the observer echo out information about the library added.

3. Load only that library.

4. Load the library in this example ‘pv_switch’ and record the results.

Page 16: PHP Libraries

Review

1. Add a library with PVLibraries::addLibrary() method to a queue of libraries to be loaded. The library name should be the same name as a folder in PV_LIBRARIES define.

2. Load all the libraries in the library queue using PVLibraries::loadLibraries() method.

3. Load a single library with PVLibraries::loadLibrary() method.

Page 17: PHP Libraries

API ReferenceFor a better understanding of the libraries, visit the api by clicking on the link below.

PVLibraries

www.prodigyview.com

More Tutorials

For more tutorials, please visit:

http://www.prodigyview.com/tutorials