Index of PHP 8 and Oracle 19c Programming training course
PHP 8
Section
Section Name
Page
One
PHP Introduction
2
- PHP: Hypertext Preprocessor
3
- Some of its main uses
4
Two
PHP Structure
5
- Basic Structure of PHP
6
- PHP Version etc
15
- Use of Echo
17
- Concatenating Echo
19
- Use of Echo with Escape Characters
21
- Use of Echo with Calculations
27
- Echo versus Print
30
- Use of Echo with HTML
32
- Commenting code in PHP
34
Three
Defining PHP Variables
37
- Introduction
38
- Defining PHP Variables
39
- Naming PHP Variables
40
- Declaring PHP Variables
43
- Flexibility of Datatypes
45
- Casting Datatypes
46
- Using gettype() with PHP Variables
50
- Using var_dump() with PHP Variables
52
- Using settype() with PHP Variables
53
- Using unset() with PHP Variables
55
- Using Heredoc
56
- Using Newdoc
58
- Using Define for Constants in PHP
59
Four
Manipulating Variables in PHP
61
- Introduction
62
- Mathematics
63
- Incrementing Values
67
- Prefix and Postfix
69
- Concatenation
72
- Exercise One
76
Five
Using PHP built in String Functions
81
- Introduction
82
- Miscellaneous String Functions
84
- Changing Case of Strings
89
- Substringing Strings
90
- Searching Strings
92
- Trimming Strings
100
- Nesting Functions
101
Six
Using PHP built in Number Functions
102
- Introduction
103
- Number Rounding
104
- Exercise Two
108
Seven
Introduction to PHP Arrays
111
- Introduction
112
- Numeric Arrays
114
- Populating Numeric Arrays
115
- Populating Numeric Arrays with range()
118
- Populating Numeric Arrays with array_pad()
120
- Populating Associative Arrays
123
- Using count() or sizeof()
129
- Using var_dump()
130
- Using print_r()
132
- Manually traversing Arrays
133
- Converting Arrays
135
- Using implode() and explode()
136
- Using unset()
138
- Multi-Dimensional Arrays
139
- Using var_dump() on multi-dimension arrays
142
- Using count() on multi-dimension arrays
145
- Three dimensional arrays
146
- Accessing Three Dimensional Arrays
148
- Alternative declaration of Arrays
149
- Exercise Three
150
Eight
Using Array Functions
156
- Introduction
157
- Using array_sum() / array_product()
158
- Sorting Arrays
159
- assort() and arsort()
165
- ksort() and krsort()
166
- array_multisort()
167
- array_reverse()
171
- array_flip()
172
- array_fill() and array_fill_keys()
173
- array_combine()
178
- array_intersect()
179
- array_diff()
180
- array_merge()
181
- array_unique()
182
- Exercise Four
183
Nine
Conditional PHP Statements
187
- Conditional tests
188
- Comparison Operators
189
- If statement structure
191
- Grouping processes in an 'If' statement
193
- Alternative processing
195
- Multiple 'If' statements
196
- Testing different datatypes
200
- Testing Strings
202
- Testing Booleans
206
- Testing for nulls
208
- Alternative Colon syntax
209
- Multiple Condition tests (and)
211
- Multiple Condition tests (or)
212
- Multiple Condition tests (xor)
213
- Nested If Conditions
214
- Ternary Operator
215
- Using PHP built in Functions for testing
218
- Exercise Five
220
Ten
Alternative Condition Testing
223
- Introduction to Switch
224
- Switch Syntax
225
- Using Break with Switch
227
- Using Default with Switch
229
- Using Switch with Colon Syntax
230
- Advanced Switch Testing
231
- Mixing If Conditions with Switch
234
- Introduction to Match
236
- Match Syntax
237
- Using Default with Match
239
- Advanced Match Testing
240
- Match with Functions
241
- Exercise Six
242
Eleven
Looping through values in PHP
244
- Introduction
245
- Foreach processing of Arrays
246
- Foreach processing with Colon syntax
250
- Multidimensional Arrays with Foreach
251
- While Loops
253
- While Loops with Colon Syntax
255
- Using Break to exit Loops
256
- Do .. While Loops
257
- Do .. While and While Loops with Arrays
259
- For Loops
260
- For Loops with Colon Syntax
262
- For Loops with empty expressions
263
- For Loops with more than one variable
265
- For Loops with Arrays
266
- Advanced Breaking of Loops
268
- Using Continue with Loops
275
- Exercise Seven
278
Twelve
Using Dates within PHP
282
- Introduction
283
- Creating String of Dates
284
- Converting Strings to Dates using strtotime()
285
- Limitation of using strtotime()
292
- Using Format Masks with date()
293
- Comparing Dates
295
- Adding to Dates
296
- Using mktime()
297
- Using getdate()
298
- Other Date Functions
299
- Exercise Eight
300
Thirteen
Regular Expressions using PCRE
302
- Introduction
303
- Testing for 'Contains' within a String
305
- Starts or Ends using Line Anchors
306
- Starts and Ends using Line Anchors (or)
308
- Using the Dot (Any Character)
309
- Using {Intervals}
311
- Using Character Lists []
313
- Using Character Lists to exclude matches
316
- Using Escape Sequences
317
- Using the Question Mark (Optional)
319
- Using the Plus sign (Mandatory)
321
- Using the Star sign (Optional)
322
- Backreferencing
323
- POSIX
325
- Using preg_replace()
327
- Using preg_replace() with arrays
329
- Using preg_filter()
331
- Using preg_replace_callback()
332
- Using preg_match()
333
- Preg_match() with PREG_OFFSET_CAPTURE
334
- Using preg_match_all()
335
- Using preg_grep()
337
- Using preg_last_error()
339
- Using preg_quote()
340
- Using preg_split()
341
- Using preg_split() with arrays
343
- Exercise Nine
344
Fourteen
PHP Functions
347
- Introduction
348
- Rudimentary Functions
349
- Function Positioning
351
- Passing Parameters to Functions
352
- Passing Multiple Parameters to Functions
354
- Defaulting Parameters in Functions
355
- Returning Values
356
- Returning Values in an Array
358
- The scope of Variables
359
- Global Variables
361
- Passing Arguments by Reference
362
- Dynamic Function Calls
363
- Calling Functions from other Functions
366
- Calling PHP Functions in other files
367
- Structure of the PHP file
368
- Calling the PHP file
369
- Calling the PHP file using include()
370
- Passing Parameters to another PHP file
373
- Exercise Ten
374
Fifteen
PHP Cookies
377
- Introduction
378
- Creating Cookies in PHP with setcookie()
379
- Setting the expiry date for Cookies
381
- Setting the path for Cookies
383
- Setting the domain/security for Cookies
384
- Reading Cookies with $_COOKIE
385
- Using Arrays with Cookies
387
Sixteen
PHP Sessions
388
- Introduction
389
- Creating Sessions
390
- Testing Sessions
391
- Using Arrays with Sessions
392
- Deleting Sessions
393
Seventeen
PHP Form Processor
394
- Introduction
395
- Anatomy of a HTML form
397
- Reading input using $_POST/$_GET
400
- Reading input using $_POST
401
- Reading input using $_GET
402
- $_GET versus $_POST
403
- Using $_REQUEST
404
- Using $_SERVER
405
- Preventing Invalid HTML in Forms
409
- Emailing in PHP
410
- Emailing HTML in PHP
412
- Emailing with attachments in PHP
414
- Exercise Eleven
415
Eighteen
PHP Errors
418
- Introduction
419
- Typical Errors
420
- Suppressing Errors
422
- $php_errormsg
425
- Using die to end the processing
427
- Using exit to end the processing
428
- Using isset() $php_errormsg
429
- Alternative way to use $php_errormsg
430
- Using error_reporting()
431
- Using error_reporting() report levels
434
- Custom error handling
436
- Raising Errors using trigger_error()
440
- Using error_log
442
- Using a centralised error handler
445
Nineteen
Exceptions
447
- Introduction
448
- Exception Syntax
449
- The 'try'
450
- The 'throw'
451
- The 'catch'
452
- Standard Exceptions
453
- Developer Defined Exceptions
456
- Processing the Exceptions
457
- Exception Methods
458
- set_exception_handler()
460
- Re-throwing Exceptions
462
- Finally
463
- Exercise Twelve
465
Twenty
PHP File I/O
467
- Introduction
468
- Using fopen()
469
- Access Modes
470
- Using fgets()
472
- Using fgetc()
475
- Using file()
476
- Using file_get_contents()
477
- Using fopen() with URLs
479
- Using fputs() / fwrite()
480
- Using file_put_contents()
482
- Working with Comma Separated Files (CSV)
485
- Using fgetcsv()
487
- Using fputcsv()
489
- Working with Binary Files
494
- Checking the Size of Bytes written
486
- Operating System Functions
495
- Using exec()
497
Twenty One
Creating HTML with PHP
499
- Introduction
500
- Why use PHP
501
- HTML example
502
- PHP simulating the HTML example
504
- Using PHP_EOL
508
- Using PHP to create dynamic HTML
509
- Using htmlspecialchars()
516
Twenty Two
PHP Object Orientated Programming
517
- Introduction
518
- Terminology
519
- Instances
520
- Extending Classes
522
- Using '$this'
524
- Private and Public Methods
526
- Creating new Classes
527
- Referencing via Variables
529
- Exercise Thirteen
530
Oracle 19c
Section
Section Name
Page
One
Introduction to Oracle
2
- What is SQL used for ?
3
- Why use Oracle with PHP ?
4
- Definition of a Database
5
- Using Oracle with PHP
6
Two
Oracle Database Objects
7
- Introduction
8
- Tables
9
- Views
10
- Materialized Views
11
- Indexes
12
- Sequences
13
- Packages, Functions and Procedures
14
- Schemas
15
Three
Connecting to Oracle via PHP
16
- Introduction
17
- Using oci_connect
18
Four
Querying from Oracle
19
- Introduction
20
- oci_parse and oci_execute
22
- oci_fetch_row
25
- oci_num_rows and oci_num_fields
26
- Detecting Oracle errors
30
- oci_error
34
- Detecting a Parse error
36
- Detecting an Execution error
38
- Oracle Metadata
40
- User_tables
43
- What columns are in a table
45
- Using OCI_DESCRIBE_ONLY
46
- User_tab_columns
51
- Exercise One
57
Five
Simple Oracle Queries
61
- Introduction
62
- Selecting more than one column
64
- Counting Records in an Oracle Table
65
- Displaying Literals in a Select statement
67
- Using Associative Arrays with oci_fetch
71
- Column Aliases
74
- Column Manipulation with SQL Functions
77
- Concatenating Columns in SQL
83
- Performing Calculations in SQL
84
- Ordering Data in SQL
85
- Ordering more than one Column
87
- Ordering with nulls first / nulls last
88
- Manipulating Dates in SQL
89
- Displaying Dates in SQL
90
- Using user_tab_columns with functions
91
- Exercise Two
93
Six
Limiting Data Selected with a Where Clause
101
- Limiting Data in SQL
102
- Structure of an SQL Where Clause
103
- Different types of SQL Where Clauses
104
- Handling Nulls in Where Clauses
112
- Case Restrictions in SQL Where Clauses
113
- Using Functions in Where Clauses
114
- Using PHP Variables in Where clauses
117
- Using PHP oci_bind_by_name in Where clauses
118
- Rownum in SQL Tables
120
- Using Rowid in SQL Tables
122
- Fetch first rows of a Table in Oracle 19c (Top-N)
124
- Using Percent with Fetch in Oracle 19c
125
- Using Offset with Fetch in Oracle 19c
126
- Using With Ties with Fetch in Oracle 19c
127
- Exercise Three
128
Seven
Oracle Datatypes
134
- Introduction
135
- Varchar2
136
- ORA-00910: specified length too long for its datatype
138
- Varchar2 and Char
139
- Number
140
- Date
141
- Float
142
- Long
143
- Large Objects
144
- Bfile
148
Eight
Aggregating Values
149
- Introduction
150
- Using Group By
151
- Using Having with Group By
154
- Using With Rollup to Total Grouping
156
Nine
Tree Walking Tables in SQL
157
- Introduction
158
- Syntax for Tree Walking in SQL
160
- Example of Tree Walking in SQL
162
- Advanced Ordering of Siblings in Tree Walks
163
- Sys_Connect_By_Path
165
- Exercise Four
167
Ten
Joining Tables in an SQL Statement
171
- Using Table Aliases in SQL
172
- Linking Tables in an SQL Statement
174
- Problems with Joining Tables in SQL
179
- Methods of Joining Tables in SQL
181
- Using Ansi SQL/86 to join Tables
182
- Ansi SQL/86 and Outer Joins
183
- Ansi SQL/99 Standards (Natural Joins)
186
- Ansi SQL/99 Standards (Cross Joins)
187
- Ansi SQL/99 Standards (Joins/Using)
188
- Ansi SQL/99 Standards (On)
189
- Ansi SQL/99 Standards (Multiple On)
190
- Ansi SQL/99 Standards (Left Outer Joins)
191
- Ansi SQL/99 Standards (Right Outer Joins)
192
- Ansi SQL/99 Standards (Full Outer Joins)
193
- Merging Tables in SQL
194
- Using Union to Merge Tables
195
- Using Union All to Merge Tables
196
- Using Intersect to Merge Tables
197
- Using Minus to Merge Tables
198
- Knowledge Check
199
- Using the Merge Syntax
204
- Exercise Five
206
Eleven
Advanced Queries
210
- Introduction
211
- Pivot
212
- Changing the Pivot Headings of X Axis
218
- Unpivot
224
- Unpivot and Null values
228
- First/Last_Value functions
229
- Lead and Lag Functions
234
- Window Specification
237
- Breakdown of Window Specification
238
- Window Specification – The Arguments
240
- Window Specification – The Order By
243
- Window Specification – The Windowing
245
- Window Specification – Rows between
246
- Window Specification – current row
247
- Window Specification – unbounded preceding
250
- Window Specification – bounded preceding
251
- Window Specification – between
253
- Window Specification – current row
247
- Difference between Range and Rows
255
- Ranking functions
256
- Using Ntile Function in SQL
265
- Using Listagg function
267
- Using Case in Select statements
271
- Using Searched Case Function
276
- Using Searched Case Function with Sub-queries
278
- Using Sample in SQL
279
- Using Width_Bucket
281
- Exercise Six
284
Twelve
Creating Database Objects
288
- Creating Tables
289
- Mandatory Columns in SQL Tables
291
- Creation Syntax for Tables
292
- Virtual Columns
294
- Creating Virtual Columns with new Table
295
- Specifying Virtual Column Datatype and Size
296
- Adding Virtual Columns to Existing Table
297
- Using Virtual Columns
298
- Using Virtual Columns with Functions
300
- Limitations of Virtual Columns (ORA-54012)
301
- Limitations of Virtual Columns (ORA-54013)
303
- Viewing Virtual Columns in user_tab_columns
304
- Invisible Columns in Oracle 19c
305
- Commenting on Tables in SQL
308
- Commenting on Columns in SQL
309
- Creating Indexes in SQL
310
- Index Creation
313
- Disabling Indexes
315
- Creating Views
316
- Creating Sequences
318
- Using Sequences
319
- Altering Sequences
321
- Using Default Value in SQL Tables
322
- Using Default Value in Oracle 19c
323
- Using Identity in Oracle 19c
324
- Renaming Objects in an Oracle Database
325
- Dropping Objects from an Oracle Database
328
- Granting Access to other Schemas
329
- Accessing other Schemas
332
- Creating Synonyms
333
- Exercise Seven
334
Thirteen
Altering and Populating Oracle Tables
340
- Some Rules when altering Tables
341
- Syntax for Altering Tables
342
- Rules when populating Tables in SQL
343
- Syntax for populating Tables
344
- Using Variables to Populate Tables
349
- General Comments
350
- Updating Data
351
- Deleting Data
353
- Handling Large Objects in SQL Plus
354
- Handling Bfiles in SQL Plus
356
Fourteen
Committing Records
357
- The difference between DDL and DML
358
- Committing and Rollback in PHP
361
- Loading XML file naming Columns
292
- Loading XML file using Set
293
Fifteen
Materialized Views
362
- Introduction
363
- Syntax for Creating Materialized Views
365
- Refreshing Materialized Views
367
- Building Materialized Views
373
- Miscellaneous
375
Sixteen
Miscellaneous
376
- Introduction
377
- Changing Passwords with oci_password_change
378
- Oracle Database Version (oci_server_version)
379
- Setting timeout with oci_set_call_timeout
380
- Exercise Eight
381