Essential IMS training course description The IP Multimedia Core Network Subsystem (IMS) is defined by 3GPP as a new mobile infrastructure. This course studies the discreet elements in the IMS. What will you learn Describe the IMS. Describe the IMS architecture. Explain how charging, security and QoS is handled in the IMS. Explain how the IMS supports service enablers such as Push to talk and Presence. Essential IMS training course details Who will benefit: Telecommunications staff. Prerequisites: Mobile communications overview Duration 2 days Essential IMS training course contents Mobile communications review The role of IP in telecommunications. GSM to IMS. Enhanced multimedia services, Push To, convergence, conferencing, roaming. What is IMS? What it is, why IMS, standard bodies: 3GPP, IETF, OMA, IMS services. MMD comparison. IMS architecture blocks Overview, IMS functions, IMS interfaces, IMS protocols, IMS elements, IMS reference points. Access network, IMS in GSM, CDMA, WiFi & PSTN networks. Core network. Application, Control and Call planes. HSS - User database Identification. The user database, role of HSS, SLF and multiple HSSs. 'Normal' identities, IMPI, IMPU. IMS signalling: SIP What is SIP? SIP URI, contact address, UAs, Proxies, basic SIP call flow, SIP sessions. IMS other protocols Megaco, Diameter, XML, XCAP, COPS, RTP/RTCP, SDP, H.324M, IM and MSRP. Call/Session Control Call Session Control Functions (CSCF). Domains. Home networks, visited networks. CSCF and SIP. P-CSCF, P-CSCF discovery, P-CSCF functions. I-CSCF, DNS and I-CSCF. S-CSCF, S-CSCF functions, ENUM lookups. QoS. Example call flows. IMS services Open service platform, Application Servers, profiles, AS interface with S-CSCF. 'Normal' services (Caller ID, Call waiting, transferâ¦) Push to talk Over Cellular (PoC), IMS conferencing, Group management, IMS Presence, IMS Messaging. Other possible applications. Media servers. (MRFC, MRFP). Gateways IMS PSTN procedures, BGCF, PSTN interface. SGW, MGCF, MGW Charging Architecture, Offline, online and flow based charging, charging reference points, CCF, DIAMETER, ICID, IOI. IMS security IMS security architecture, identities, AAA, public and private user ID, service filters, Cx interface, RADIUS, Diameter protocol, 3GPP AKA, integrity, privacy, NDS, IPSEC, trust, assertion.
Ansible training course description The course focusses on the use of ansible for network devices instead of its usual server use case. The course progresses from the basics of ansible and playbooks onto using network specific modules including NAPALM. The use Jinja2 templating with ansible is also studied. Hands on sessions with ansible configuring routers and switches follow all major sections. What will you learn Automate tasks with ansible. Write ansible playbooks. Configure network devices with ansible. Troubleshoot network devices with ansible. Use ansible network modules. Use jinja2 templates with ansible. Ansible training course details Who will benefit: Network engineers. Prerequisites: TCP/IP Foundation Duration 2 days Ansible training course contents What is ansible? The language, the engine, the framework. Uses of ansible, orchestration. Hands on Installing ansible, enabling SSH on network devices. Ansible architecture How ansible 'normally' works, Agentless, SSH, ansible and Python, modules, how ansible work on network devices, Configuration management, inventories, playbooks, modules, ansible.cfg. Hands on Getting started, running ad hoc commands. Playbooks ansible-playbook, users, YAML, plays, tasks, modules. ansible-vault. Hands on Running playbooks. More playbooks Handlers, variables, environmental variables, playbook variables, inventory variables, variable scope and precedence, accessing variables, facts, ansible vault. Conditionals, wait_for. Hands on Using variables and conditions in playbooks. Inventories /etc/ansible/hosts, inventory variables, static inventories, dynamic inventories. Hands on Inventories and variables. Ansible network modules Built in modules, custom modules, return values. ansible-doc -l. connection: local, Cisco modules, Juniper module, Hands on Using modules for your network devices. Ansible templatings The template module, the assemble module, jinja2 templates, for, if else. Hands on Configuring network devices from templates. Roles and includes Dynamic includes, Handler includes, playbook includes. Roles, role parts: handlers, files, templates, cross platform roles, ansible galaxy. Hands on includes example, building roles. Ansible and NAPALM Installation, napalm-ansible, NAPALM modules: napalm_diff-yang, napalm_get_facts, napalm_install_config, napalm_parse_yang, napalm_ping, napalm_translate_yang, napalm_validate. Hands on Using NAPALM modules in ansible.
CCNP (ENARSI) training course description The Implementing Cisco Enterprise Advanced Routing and Services (ENARSI) v1.0 gives you the knowledge you need to install, configure, operate, and troubleshoot an enterprise network. This course covers advanced routing and infrastructure technologies, expanding on the topics covered in the Implementing and Operating Cisco Enterprise Network Core Technologies (ENCOR) v1.0 course. This course helps prepare for the exam, Implementing Cisco Enterprise Advanced Routing and Services (300- 410 ENARSI), which leads to the new CCNP What will you learn Gain the knowledge you need to install, configure, operate, and troubleshoot an enterprise network. Qualify for professional-level job roles in advance routing and services Prepare for the Implementing Cisco Enterprise Advanced Routing and Services Exam (300-410 ENARSI). CCNP (ENARSI) training course details Who will benefit: Enterprise network engineers, System engineers, System administrators, Network administrators. Prerequisites: CCNP core Duration 5 days CCNP (ENARSI) training course content Course Objectives Configure classic Enhanced Interior Gateway Routing Protocol (EIGRP) and named EIGRP for IPv4 and IPv6 Optimize classic EIGRP and named EIGRP for IPv4 and IPv6 Troubleshoot classic EIGRP and named EIGRP for IPv4 and IPv6 Configure Open Shortest Path First (OSPF)v2 and OSPFv3 in IPv4 and IPv6 environments Optimize OSPFv2 and OSPFv3 behaviour Troubleshoot OSPFv2 for IPv4 and OSPFv3 for IPv4 and IPv6 Implement route redistribution using filtering mechanisms Troubleshoot redistribution Implement path control using Policy-Based Routing (PBR) and IP Service Level Agreement (SLA) Configure Multiprotocol-Border Gateway Protocol (MPBGP) in IPv4 and IPv6 environments Optimize MPBGP in IPv4 and IPv6 environments Troubleshoot MPBGP for IPv4 and IPv6 Describe the features of Multiprotocol Label Switching (MPLS) Describe the major architectural components of an MPLS VPN Identify the routing and packet forwarding functionalities for MPLS VPNs Explain how packets are forwarded in an MPLS VPN environment Implement Cisco Internetwork Operating System (IOS) Dynamic Multipoint VPNs (DMVPNs) Implement Dynamic Host Configuration Protocol (DHCP) Describe the tools available to secure the IPV6 first hop Troubleshoot Cisco router security features Troubleshoot infrastructure security and services Course Outline Implementing EIGRP Optimizing EIGRP Troubleshooting EIGRP Implementing OSPF Optimizing OSPF Troubleshooting OSPF Configuring Redistribution Troubleshooting Redistribution Implementing Path Control Implementing Internal Border Gateway Protocol (IBGP) Optimizing BGP Implementing MP-BGP Troubleshooting BGP Exploring MPLS Introducing MPLS L3 VPN Architecture Introducing MPLS L3 VPN Routing Configuring Virtual Routing and Forwarding (VRF)-Lite Implementing DMVPN Implementing DHCP Introducing IPv6 First Hop Security Securing Cisco Routers Troubleshooting Infrastructure Security and Services Troubleshooting with DNA Center Assurance. Lab outline Configure EIGRP Using Classic Mode and Named Mode for IPv4 and IPv6 Verify the EIGRP Topology Table Configure EIGRP Stub Routing, Summarization, and Default Routing Configure EIGRP Load Balancing and Authentication Troubleshoot EIGRP Issues Configure OSPFv3 for IPv4 and IPv6 Verify the LinkState Database Configure OSPF Stub Areas and Summarization Configure OSPF Authentication Troubleshoot OSPF Issues Implement Routing Protocol Redistribution Manipulate Redistribution Manipulate Redistribution Using Route Maps Troubleshoot Redistribution Issues Implement PBR Configure IBGP and External Border Gateway Protocol (EBGP) Implement BGP Path Selection Configure BGP Advanced Features Configure BGP Route Reflectors Configure MP-BGP for IPv4 and IPv6 Troubleshoot BGP Issues Configure Routing with VRF -Lite Implement Cisco IOS DMVPN Obtain IPv6 Addresses Dynamically Troubleshoot DHCPv4 and DHCPv6 Issues Troubleshoot IPv4 and IPv6 Access Control List (ACL) Issues Configure and Verify Unicast Reverse Path Forwarding (uRPF) Troubleshoot Network Management Protocol Issues: Lab 1 and 2
Advanced Python training course description This course caters to network engineers aiming to enhance both their Python proficiency and network automation skills. Delving deeper into key areas such as netmiko, Nornir, and ncclient, we also focus on automating network testing and validation. Participants gain greater confidence working with Python functions, classes, objects, and error handling. The course additionally introduces more libraries like Scrapli, TTP, pyATS, Genie, pybatfish, and Suzieq, which cover parsing strategies, automation testing, validation, network analysis, observability, and telemetry. The curriculum also encompasses concurrency techniques. What will you learn Write Python modules and functions. Evaluate techniques to parse unstructured data. Use NETCONF filters. Handle Python errors effectively (try, assertâ¦). Use postman. Automate testing and validation of the network. Use scrapli, Genie, batfish and Suzieq. Advanced Python training course details Who will benefit: Network engineers. Prerequisites: Python for network engineers Duration 5 days Advanced Python training course contents Review CLI, NETCONF, RESTCONF, structured versus unstructured data, gNMI and when to use which. PEP 8. Naming conventions. Packages, modules, Classes and methods. The scrapli library. Netmiko versus scrapli. Hands on: scrapli, Dictionaries versus Regular Expressions. Modules and Functions Writing your own modules, containers versus packages, virtual environments. Best practices, calling functions, writing your own functions. Parameters, arguments. Named arguments, dictionaries as arguments. Builtins. Docstrings. Main. __name__, __main__ . Program arguments. Hands on: Getting interfaces, showing interface status using Netmiko and functions. Using dictionaries as arguments. Writing your own modules. Parsing strategies Turning unstructured data into structured data. textfsm, PyATS Genie parser, NAPALM getters, Template Text Parser. Hands on: Genie parser, TTP. Accessing structured data with lists and dictionaries. Classes, objects and Python Python classes in Genie, PyEZ and others . Hands on: studying network automation classes, objects, methods and attributes. Configuration management - more nornir, ncclient, requests Nornir tasks. Nornir results, Nornir functions, Nornir plugins. Nornir processors. YANG, YANG models, pyang. NETCONF hello. Capabilities. Schemas. Filters. Subtrees. XPATH. Exploring available YANG data models. NETCONF and network wide transactions. Asserting NETCONF capabilities. Configuration types. Locking configurations, commits. NETCONF data stores. Netconf-console. RESTCONF differences from NETCONF. URI construction. Postman. More XML and JSON. Git and configuration versions. Hands on: Nornir and Jinja2. Exploring available models, NETCONF filters. Using postman. Python error handling and debugging Context handlers, try, assert, logging, pdb, pytest, unit testing, chatgpt. Hands on: Writing code with each of the error handling methods, investigating what happens on an error. Use chatgpt to debug your code. Python Automation Testing Testing and validation. pyATS, Genie. Testbed file. Genie parse, genie learn, genie diff. Genie conf, Genie ops, Genie SDK, Genie harness. Xpresso. Hands on: Using Genie for state comparisons of the network. Network analysis Batfish, pybatfish, configuration analysis, analysing routing, analysing ACLs. Pandas. Pandas dataframe. Filtering and selecting values of interest. Hands on: Use Batfish to analyse network snapshots, find network adjacencies, flow path analysis. Network observability Suzieq, using docker, using as a package. Sqpoller, suzieq-gui, suzieq-cli, sq-rest-server. Namespaces and seeing devices, network state and Asserts. Time based analysis, snapshots and changes. Hands on: Suzieq: Gathering data from the network, analysing data from the network. Network state assertion. Telemetry gRPC, gNMI. CAP, GET, SET. Subscriptions. Model Driven telemetry. Hands on: Analysing telemetry data with Python. Concurrency asyncio, threads, processes. Nornir concurrency. Scrapli and netmiko concurrency. Hands on: Multiple SSH connections to devices at same time. Scarpli asyncio.
This half day or whole day course is designed to support both novice and experienced trustees in providing effective governance within their organisations. It considers their roles and responsibilities in general before looking at particular areas in more detail. The half day course covers all the essential information; the whole day session includes specific exercises and case studies to develop the participants’ problem-solving skills.
Masterclasses? Refreshers? Introductions? It depends what you're looking for and where you want to pitch them, but here are six tried-and-tested highly focused sessions that organisations can take individually or as a series, to help develop their teams' project management capabilities one topic at a time. Objectives for each individual session are set out below, as part of the session outlines. Taken together, as a series, however, these modules are an ideal opportunity to develop your team's levels of project management capability maturity, whether that's by introducing them to the basic principles, refreshing them on best practice, or giving them the opportunity to really drill down into a specific area of challenge in your particular operating environment. Session outlines 1 Stakeholder management Session objectives This session will help participants: Understand why stakeholders matter to projects Be able to identify and engage stakeholders Be able to categorise stakeholders by their significance 1 Key principles What does 'stakeholder' mean - in theory? What does this mean in practice? Why stakeholders matter Consequences of missing stakeholders The stakeholder management process:IdentifyAssessPlanEngage 2 Identifying stakeholders Rapid listing CPIG analysis PESTLE analysis Drawing on the knowledge and experience of others Other ways to identify stakeholders 3 Assessing stakeholders Which stakeholders are significant? Stakeholder radar Power-interest maps Power-attitude maps 4 Planning The adoption curve Dealing with obstacles Who should engage which stakeholder? How should the project's organisation be structured? How will communication happen? 5 Engaging Seven principles of stakeholder engagement 2 Requirements and prioritisation Session objectives This session will help participants: Understand how clarity of requirements contributes to project success Use different techniques for prioritising requirements Agree requirements with stakeholders Manage changes to requirements 1 Understanding and managing stakeholder needs and expectations What are 'requirements'? What is 'requirements management'? Sources of requirements - and the role of stakeholders Are stakeholders sufficiently expert to specify their needs? Do they understand the detail of what they want, or do they need help to tease that out? What do stakeholders want to achieve? Working within constraints Prioritising requirements - three techniques 2 MoSCoW prioritisation 'Must have', should have', 'could have, 'won't have this time' When to use MoSCoW 3 The Kano Model Customer satisfaction - 'attractive' and 'must-be' qualities When to use Kano 4 Value-based prioritisation Understanding risk v value Using risk v value to prioritise features and schedules 5 Agreeing requirements Perfect v 'good enough' Establishing acceptance criteria Requirements traceability Agreeing project scope 6 Changing requirements Why requirements change Why change control matters Impact on projects A formal change control process Paying for change - managing change for different types of project 3 Estimating Session objectives This session will help participants: Understand the different purposes estimates satisfy Be able to use different estimating techniques Understand how to achieve different levels of accuracy 1 Key principles What's an estimate? Informed guesswork What needs to be estimated? Costs, resources, effort, duration Tolerances Precision v accuracy 2 Estimating through the lifecycle Start Plan Do 3 Early estimates Comparative ('analogous') estimating Parametric estimating Using multiple estimating techniques 4 Bottom-up estimating Bottom-up ('analytical') estimating Pros Cons 5 Three-point estimating Three-point ('PERT': Programme Evaluation and Review Technique) estimating Uncertainty and the range of estimates Calculating a weighted average Three-point with bottom-up 4 Scheduling Session objectives This session will help participants: Understand how to create a viable schedule Be able to use different forms of schedule Understand the concept of the critical path 1 Key principles The planning horizon Rolling wave planning Release planning 2 Viable scheduling Creating a viable schedule Define the scope Sequence the work Identify the risks and build in mitigations Identify the resources Estimate the effort and durations Check resource availability Refine until a workable schedule is produced 3 Critical path analysis The critical path Network diagrams Sequence logic Practical application:Network diagram with estimated durationsThe 'forward pass'The 'backward pass'Calculating total floatIdentifying the critical pathCalculating free float Gantt charts 5 Risk and issue management Session objectives This session will help participants: Understand the difference between risks and issues Be able to identify and assess risks Understand ways of mitigating risks Manage issues 1 Key principles Understanding risk Threats and opportunities The risk management processPreparation - proactive risk managementThe process - identify, assess, plan, implementStakeholder communication Roles and responsibilities Risk management strategy The risk register Risk appetite 2 Risk identification Brainstorming Interviews Assumption analysis Checklists 3 Risk assessment and prioritisation Probability, impact and proximity Triggers Qualitative risk assessment Qualitative impact assessment Qualitative probability assessment Probability / impact grid Bubble charts Risk tolerance 4 Planning countermeasures To mitigate or not to mitigate? Categories of risk response Avoid and exploit Reduce and enhance Transfer Share Accept Contingency Secondary risks 5 Issue management What is an issue? Tolerances Issues and tolerances The PRINCE2 view of issues Ownership of issues An issue management process Issue register 6 Budgeting and cost control Session objectives This session will help participants: Understand what to include in a budget - and why Choose - and use - the appropriate estimating technique Align the budget with the schedule Understand how to monitor spend and control costs Trouble-shoot effectively to get projects back within budget Session format Flexible. The session can be tailored to the participants' average level of project management maturity - a 60-minute session (delivered virtually) is an effective introduction. A 90-minute session allows for more in-depth treatment. A half-day session (face-to-face or virtual) gives time for a more challenging workshop, particularly to discuss specific cost control issues with any of the participants' current projects. 1 Where is the money coming from? Can we pay from revenue? Do we need to borrow? How long will the project take to pay back? The lifecycle of the budget Through-life costs Stakeholder involvement 2 Estimating costs Reminder: the relationship between estimates Reminder: possible estimating techniques What do we need to estimate?PeopleEquipmentMaterialsFacilities and operating costsWork package estimateEstimated project costs Estimating agile projects 3 Aligning budget and schedule Scheduling and financial periods Spreading the budget 4 Reserves and agreeing the budget Contingency reserve Management reserve Agreeing the budget 5 Cost control Planned spend over time Actual spend over time Work completed over time Evaluating different scenarios: delivery v spend 6 Trouble-shooting Why are we where we are? What has caused the project to spend at the rate it is? Why is it delivering at the rate it is? What are the root causes? What can we do about it?
The aim of this course is to provide an overview of the key principles and techniques for leading and managing project work. It will focus on the core principles and generic methods of project management, showing how these can be applied to typical projects. The scope of the programme includes: The course also emphasises the importance of the leadership and team-working skills needed by project managers and team members in carrying out their roles. The principal training objectives for this programme are to: Explain and demonstrate the key principles of successful project management Demonstrate a range of useful project management tools and techniques Define the role of, and help participants understand the skills required by, the project leader Illustrate the use of project skills through examples and case studies Identify ways to improve project management, both individually and corporately DAY ONE 1 Introduction (Course sponsor) Why this programme has been developed Review of participants' needs and objectives 2 Key concepts and requirements for success Projects and project management Lessons from past projects; the essential requirements for success Differences between projects; characteristic project life cycles The challenges of project management; the role of the project manager Project exerciseA team exercise to demonstrate the challenges of project management 3 Defining project objectives and scope Identifying the stakeholders; key roles and responsibilities Getting organised; managing the definition process Working with the 'customer' to define the project scope 4 Project case study: part 1 Defining the project objectives: syndicate teams define the objectives and scope for a typical project 5 Project planning The nature of planning; recognising planning assumptions Planning the plan; the importance of team involvement Developing the work breakdown structure Estimating task resources, timescales and costs Developing the project schedule Analysing the plan and identifying the critical path 6 Project case study: part 2 Creating the project plan Syndicate teams begin development of their project plans (for completion after session 7) Team presentations and group discussion (after session 7) DAY TWO 7 Managing project risks Understanding and defining project risks Classifying risks and adopting an appropriate risk strategy Identifying, evaluating and managing project risks Agreeing ownership of project risks; the risk register Integrating planning and risk management 8 Project control Pro-active and re-active control; striking the right balance Pre-requisites for effective, pro-active project control Avoiding unnecessary 'scope creep' and controlling change Selecting the data needed to provide early warning of problems Monitoring project performance: 'S' curves, slip charts, earned value Getting good data and assessing project status Defining the roles and responsibilities for control Setting up a routine process for keeping up to date Managing and controlling multiple projects 9 Project case study: part 3 Controlling the project Teams control their project as new developments take place 10 Course review and transfer planning (Course sponsor present) Identify actions to be implemented individually Identify corporate opportunities for improving project management Sponsor-led review and discussion of proposals Conclusion
NFV training course description Network Functions Virtualization (NFV) brings many benefits, this training course cuts through the hype and looks at the technology, architecture and products available for NFV. What will you learn Explain how NFV works. Describe the architecture of NFV. Explain the relationship between NFV and SDN. Recognise the impact NFV will have on existing networks. NFV training course details Who will benefit: Anyone wishing to know more about NFV. Prerequisites: Introduction to Virtualization. Duration 2 days NFV training course content Introduction What is NfV? What are network Functions? NfV benefits, NfV market drivers. ETSI NfV framework. Virtualization review Server, storage and network virtualization and NfV. Virtual machines, containers and docker. Data centres, clouds, SaaS, IaaS, PaaS. Virtualization of Network Functions Network virtualization versus Network Function virtualization. ETSI NfV architecture ETSI documents, Architecture overview, compute domain, hypervisor domain, infrastructure network domain. IETF and NfV Creating services, Service Functions, Service Function Chaining. SPRING and source packet routing. YANG and NetConf. RESTCONF. VLANs, VPNs, VXLAN. MANO Management and Orchestration. OpenStack, OpenDaylight PaaS and NfV. The VNF domain. Service graphs, MANO descriptors, Open orchestration. The virtualization layer VM centric model, containers versus hypervisors, FD.io. Summary Deploying NfV, performance, testing. Futures.
Asterisk training course description This 3 day hands on Asterisk training course covers all the ground for you to get an Asterisk PBX installed and configured. After installation the course progresses from a simple first configuration onto VoIP and PSTN integration along with the provision of PBX features such as ACD and IVR. Practical sessions follow each major section to reinforce the theory. What will you learn Install and configure Asterisk. Connect Asterisk to the Internet and PSTN. Integrate VoIP and the PSTN. Configure Asterisk for PBX features such as voicemail, ACD and IVR. Asterisk training course details Who will benefit: Technical staff working with or evaluating Asterisk. Prerequisites: None although hands on experience of UNIX systems would be beneficial, as would knowledge of VoIP. Duration 3 days Asterisk training course contents What is Asterisk? PBXs, what Asterisk does, Asterisk features, Asterisk VoIP support, Asterisk and the Internet, Asterisk and the PSTN, hosted VoIP systems. Asterisk installation Linux installation, Asterisk package compilation and installation. Timing sources. Hands on Installing Asterisk Managing Asterisk Starting/stopping Asterisk, command arguments, Asterisk commands, log files, logger.conf, remote management. Hands on Controlling Asterisk. First Asterisk configuration The role of SIP, IP phones, DHCP, IP addressing, sip.conf, extensions.conf. Hands on Simple SIP configuration Asterisk architecture Server hardware, interfaces, channels, Zaptel, Digium, Asterisk filesystem, connections. The configuration files, syntax, asterisk.conf. Hands on Adding hardware for Asterisk, exploring the configuration files. DAHDI configuration Digium hardware, DAHDI architecture, DAHDI installation, DAHDI configuration, system.conf, FXS, FXO, E1, chan_dahdi.conf, dahdi_cfg, DAHDI tools. Hands on Connecting Asterisk to the PSTN. Dial plans extensions.conf detail, contexts, priorities. Hands on Configuring dial plans. SIP configuration sip.conf in detail, defining SIP channels, incoming SIP channels, outgoing SIP channels, SIP variables, Asterisk as a SIP client and SIP server. Hands on SIP configuration. IAX configuration What is IAX, IAX server, IAX client, IAX channels, iax.conf, IAX syntax in extensions.conf, IAX trunking. Hands on Linking Asterisk systems. Implementing PBX functions Voicemail, voicemail trees, voicemail passwords, Music on hold, meetme conferencing, call parking. ACD, IVR, fax. Hands on Configuring PBX features.
Total PHP training course description PHP provides for the creation of dynamic web sites. This hands on training course looks at programming with PHP with an emphasis of building dynamic websites. Forms, state management and database integration are all covered with practicals used throughout the course to reinforce theory sessions. What will you learn Create dynamic web sites using PHP. Write PHP programs. Debug PHP programs. Examine existing code and determine its function. Total PHP training course details Who will benefit: Anyone creating dynamic web sites. Prerequisites: Software development fundamentals Duration 3 days Total PHP training course contents What is PHP? PHP history, dynamic web pages, how PHP works, alternatives to PHP. Downloading and installing PHP. Installing MySQL, installing Apache, platform issues. A first PHP web page A basic PHP script, PHP page structure. PHP comments. Integrating PHP and HTML. PHP forms HTML forms, taking values from forms. PHP and HTML Page inputs, environment inputs. phpinfo(), other form elements, sticky fields, generalised code, tables, forms, form elements, style sheets, JavaScript. Variables operators and expressions Expressions, data types, assignments, scope, constants, HTTP environment variables, getting data from forms using variables. Operators Arithmetic, logical, relational, Boolean, others. Control statements Conditional: if, else, elseif, switch. Loops: while, do while, for, break, continue, exit. Functions Built in functions, declaration, arguments, scope, loading functions from other files, defaulting parameters, call by value/ name. Arrays Indexes, array initialisation, array manipulation, multi dimensional arrays, array functions. String handling What is a string, string functions, matching, extraction, replacement. String operations, cleansing, sprintf, formatting web pages, strops and others, splitting strings, REs. PHP and databases Database structure, Database APIs, MySQL, Creating tables, Editing tables, simple SQL queries using PHP, building HTML tables using SQL queries, SQL injection, security issues, error handling. File I/O Opening, reading, writing files. Permissions, ownership, locking, directories. PHP, cookies and sessions State, Cookie properties, setting cookies, retrieving cookies, expiring/deleting cookies. Sessions, session variables, session IDs. PHP and email Emailing from servers, attachments. Objects OOP, PHP classes, constructors, instances.