পৃষ্ঠাসমূহ
Labels
.
Search Your Article
Total Pageviews
Saturday, March 25, 2017
Perl - Date & Time
This chapter will give you the basic understanding on how to process and manipulate dates and times in Perl.
Current Date & Time
Let's start with localtime() function, which returns values for the current date and time if given no arguments. Following is the 9-element list returned by the localtime function while using in list context −sec, # seconds of minutes from 0 to 61 min, # minutes of hour from 0 to 59 hour, # hours of day from 0 to 24
Perl - Subroutines
A Perl subroutine or function is a group of statements that together
performs a task. You can divide up your code into separate subroutines.
How you divide up your code among different subroutines is up to you,
but logically the division usually is so each function performs a
specific task.
Perl uses the terms subroutine, method and function interchangeably.
Perl - References
A Perl reference is a scalar data type that holds the location of
another value which could be scalar, arrays, or hashes. Because of its
scalar nature, a reference can be used anywhere, a scalar can be used.
You can construct lists containing references to other lists, which can contain references to hashes, and so on. This is how the nested data structures are built in Perl.
Perl - Formats
Perl uses a writing template called a 'format' to output reports. To
use the format feature of Perl, you have to define a format first and
then you can use that format to write formatted data.
Define a Format
Following is the syntax to define a Perl format −format FormatName = fieldline value_one, value_two, value_three fieldline value_one, value_two
Perl - File I/O
The basics of handling files are simple: you associate a filehandle
with an external entity (usually a file) and then use a variety of
operators and functions within Perl to read and update the data stored
within the data stream associated with the filehandle.
Perl - Directories
Following are the standard functions used to play with directories.
opendir DIRHANDLE, EXPR # To open a directory readdir DIRHANDLE # To read a directory rewinddir DIRHANDLE # Positioning pointer to the begining telldir DIRHANDLE # Returns current position of the dir seekdir DIRHANDLE, POS # Pointing pointer to POS inside dir closedir DIRHANDLE # Closing a directory.
Perl - Error Handling
The execution and the errors always go together. If you are opening a file which does not exist. then if you did not handle this situation properly then your program is considered to be of bad quality.
The program stops if an error occurs. So a proper error handling is used to handle various type of errors, which may occur during a program execution and take appropriate action instead of halting program completely.
The program stops if an error occurs. So a proper error handling is used to handle various type of errors, which may occur during a program execution and take appropriate action instead of halting program completely.
Perl - Special Variables
There are some variables which have a predefined and special meaning in Perl. They are the variables that use punctuation characters after the usual variable indicator ($, @, or %), such as $_ ( explained below ).
Most of the special variables have an english like long name, e.g., Operating System Error variable $! can be written as $OS_ERROR.
Most of the special variables have an english like long name, e.g., Operating System Error variable $! can be written as $OS_ERROR.
Perl - Coding Standard
Each programmer will, of course, have his or her own preferences in
regards to formatting, but there are some general guidelines that will
make your programs easier to read, understand, and maintain.
The most important thing is to run your programs under the -w flag at all times. You may turn it off explicitly for particular portions of code via the no warnings pragma or the $^W variable if you must. You should also always run under use strict or know the reason why not. The use sigtrap and even use diagnostics pragmas may also prove useful.
The most important thing is to run your programs under the -w flag at all times. You may turn it off explicitly for particular portions of code via the no warnings pragma or the $^W variable if you must. You should also always run under use strict or know the reason why not. The use sigtrap and even use diagnostics pragmas may also prove useful.
Perl - Regular Expressions
A regular expression is a string of characters that defines the
pattern or patterns you are viewing. The syntax of regular expressions
in Perl is very similar to what you will find within other regular
expression.supporting programs, such as sed, grep, and awk.
The basic method for applying a regular expression is to use the pattern binding operators =~ and !~. The first operator is a test and assignment operator.
There are three regular expression operators within Perl.
The basic method for applying a regular expression is to use the pattern binding operators =~ and !~. The first operator is a test and assignment operator.
There are three regular expression operators within Perl.
Perl - Sending Email
Using sendmail Utility
Sending a Plain Message
If you are working on Linux/Unix machine then you can simply use sendmail utility inside your Perl program to send email. Here is a sample script that can send an email to a given email ID. Just make sure the given path for sendmail utility is correct. This may be different for your Linux/Unix machine.#!/usr/bin/perl
Perl - Socket Programming
What is a Socket?
Socket is a Berkeley UNIX mechanism of creating a virtual duplex connection between different processes. This was later ported on to every known OS enabling communication between systems across geographical location running on different OS software. If not for the socket, most of the network communication between systems would never ever have happened.Object Oriented Programming in PERL
We have already studied references in Perl and Perl anonymous arrays and hashes. Object Oriented concept in Perl is very much based on references and anonymous array and hashes. Let's start learning basic concepts of Object Oriented Perl.
Perl - Database Access
This chapter teaches you how to access a database inside your Perl script. Starting from Perl 5 has become very easy to write database applications using DBI module. DBI stands for Database Independent Interface for Perl, which means DBI provides an abstraction layer between the Perl code and the underlying database, allowing you to switch database implementations really easily.
Perl - CGI Programming
What is CGI ?
- A Common Gateway Interface, or CGI, is a set of standards that defines how information is exchanged between the web server and a custom script.
- The CGI specifications are currently maintained by the NCSA and NCSA defines CGI is as follows − The Common Gateway Interface, or CGI, is a standard for external gateway programs to interface with information servers such as HTTP servers.
- The current version is CGI/1.1 and CGI/1.2 is under progress.
Perl - Packages & Modules
What are Packages?
The package statement switches the current naming context to a specified namespace (symbol table). Thus −- A package is a collection of code which lives in its own namespace.
- A namespace is a named collection of unique variable names (also called a symbol table).
- Namespaces prevent variable name collisions between packages.
- Packages enable the construction of modules which, when used, won't clobber variables and functions outside of the modules's own namespace.
Perl - Process Management
You can use Perl in various ways to create new processes as per your requirements. This tutorial will list down few important and most frequently used methods of creating and managing Perl processes.
- You can use special variables $$ or $PROCESS_ID to get current process ID.
- Every process created using any of the mentioned methods, maintains its own virtual environment with-in %ENV variable.
Perl - Embedded Documentation
You can embed Pod (Plain Old Text) documentation in your Perl modules and scripts. Following is the rule to use embedded documentation in your Perl Code −
Start your documentation with an empty line, a =head1 command at the beginning, and end it with a =cut command and an empty line.
Friday, March 24, 2017
Perl Questions and Answers
Perl Questions and Answers has been designed with a special intention of helping students and professionals preparing for various Certification Exams and Job Interviews.
This section provides a useful collection of sample Interview Questions
and Multiple Choice Questions (MCQs) and their answers with
appropriate explanations.
Perl - Quick Guide
Perl - Introduction
Perl is a general-purpose programming language originally developed for text manipulation and now used for a wide range of tasks including system administration, web development, network programming, GUI development, and more.Perl - Useful Resources
The following resources contain additional information on Perl Please use them to get more in-depth knowledge on this topic.
Useful Links on Perl
- Perl at Wikipedia − It is the Perl Programming Language on Wikipedia.
- Perl Blog − It consists of news and views about Perl Programming Language.
- Perl official site − This is the official website of Perl.
Discuss Perl
Perl is a programming language developed by Larry Wall, especially designed for text processing. It stands for Practical Extraction and Report Language. It runs on a variety of platforms, such as Windows, Mac OS, and the various versions of UNIX.
This tutorial provides a complete understanding on Perl.
This tutorial provides a complete understanding on Perl.
NumPy - Introduction
NumPy is a Python package. It stands for 'Numerical Python'. It is a
library consisting of multidimensional array objects and a collection of
routines for processing of array.
Numeric, the ancestor of NumPy, was developed by Jim Hugunin. Another package Numarray was also developed, having some additional functionalities.
Numeric, the ancestor of NumPy, was developed by Jim Hugunin. Another package Numarray was also developed, having some additional functionalities.
NumPy - Environment
Try it Option Online
We have set up the NumPy Programming environment online, so that you can compile and execute all the available examples online. It gives you confidence in what you are reading and enables you to verify the programs with different options. Feel free to modify any example and execute it online.
NumPy - Ndarray Object
The most important object defined in NumPy is an N-dimensional array type called ndarray. It describes the collection of items of the same type. Items in the collection can be accessed using a zero-based index.
Every item in an ndarray takes the same size of block in the memory. Each element in ndarray is an object of data-type object (called dtype).
Every item in an ndarray takes the same size of block in the memory. Each element in ndarray is an object of data-type object (called dtype).
NumPy - Data Types
NumPy supports a much greater variety of numerical types than Python
does. The following table shows different scalar data types defined in
NumPy.
S.No | Data Types & Description |
---|---|
1. | bool_ Boolean (True or False) stored as a byte |
NumPy - Array Attributes
In this chapter, we will discuss the various array attributes of NumPy.
ndarray.shape
This array attribute returns a tuple consisting of array dimensions. It can also be used to resize the array.Example 1
import numpy as np a = np.array([[1,2,3],[4,5,6]]) print a.shapeThe output is as follows −
(2, 3)
NumPy - Array Creation Routines
A new ndarray object can be constructed by any of the following array creation routines or using a low-level ndarray constructor.
numpy.empty
It creates an uninitialized array of specified shape and dtype. It uses the following constructor −numpy.empty(shape, dtype = float, order = 'C')The constructor takes the following parameters.
NumPy - Array From Existing Data
In this chapter, we will discuss how to create an array from existing data.
numpy.asarray
This function is similar to numpy.array except for the fact that it has fewer parameters. This routine is useful for converting Python sequence into ndarray.numpy.asarray(a, dtype = None, order = None)The constructor takes the following parameters.
NumPy - Array From Numerical Ranges
In this chapter, we will see how to create an array from numerical ranges.
numpy.arange
This function returns an ndarray object containing evenly spaced values within a given range. The format of the function is as follows −numpy.arange(start, stop, step, dtype)The constructor takes the following parameters.
NumPy - Indexing & Slicing
Contents of ndarray object can be accessed and modified by indexing or slicing, just like Python's in-built container objects.
As mentioned earlier, items in ndarray object follows zero-based index. Three types of indexing methods are available − field access, basic slicing and advanced indexing.
As mentioned earlier, items in ndarray object follows zero-based index. Three types of indexing methods are available − field access, basic slicing and advanced indexing.
NumPy - Advanced Indexing
It is possible to make a selection from ndarray that is a non-tuple
sequence, ndarray object of integer or Boolean data type, or a tuple
with at least one item being a sequence object. Advanced indexing always
returns a copy of the data. As against this, the slicing only presents a
view.
There are two types of advanced indexing − Integer and Boolean.
There are two types of advanced indexing − Integer and Boolean.
NumPy - Broadcasting
The term broadcasting refers to the ability of NumPy to treat
arrays of different shapes during arithmetic operations. Arithmetic
operations on arrays are usually done on corresponding elements. If two
arrays are of exactly the same shape, then these operations are smoothly
performed.
NumPy - Iterating Over Array
NumPy package contains an iterator object numpy.nditer. It is
an efficient multidimensional iterator object using which it is possible
to iterate over an array. Each element of an array is visited using
Python’s standard Iterator interface.
Let us create a 3X4 array using arange() function and iterate over it using nditer.
Let us create a 3X4 array using arange() function and iterate over it using nditer.
NumPy - Array Manipulation
Several routines are available in NumPy package for manipulation of
elements in ndarray object. They can be classified into the following
types −
Changing Shape
S.No | Shape & Description |
---|---|
1. | reshape
Gives a new shape to an array without changing its data |
NumPy - Binary Operators
Following are the functions for bitwise operations available in NumPy package.
S.No | Operation & Description |
---|---|
1. | bitwise_and
Computes bitwise AND operation of array elements |
NumPy - String Functions
The following functions are used to perform vectorized string
operations for arrays of dtype numpy.string_ or numpy.unicode_. They are
based on the standard string functions in Python's built-in library.
NumPy - Mathematical Functions
Quite understandably, NumPy contains a large number of various
mathematical operations. NumPy provides standard trigonometric
functions, functions for arithmetic operations, handling complex
numbers, etc.
NumPy - Arithmetic Operations
Input arrays for performing arithmetic operations such as add(),
subtract(), multiply(), and divide() must be either of the same shape or
should conform to array broadcasting rules.
Example
import numpy as np a = np.arange(9, dtype = np.float_).reshape(3,3)
NumPy - Statistical Functions
NumPy has quite a few useful statistical functions for finding
minimum, maximum, percentile standard deviation and variance, etc. from
the given elements in the array. The functions are explained as follows −
NumPy - Sort, Search & Counting Functions
A variety of sorting related functions are available in NumPy. These
sorting functions implement different sorting algorithms, each of them
characterized by the speed of execution, worst case performance, the
workspace required and the stability of algorithms. Following table
shows the comparison of three sorting algorithms.
NumPy - Byte Swapping
We have seen that the data stored in the memory of a computer depends
on which architecture the CPU uses. It may be little-endian (least
significant is stored in the smallest address) or big-endian (most
significant byte in the smallest address).
NumPy - Copies & Views
While executing the functions, some of them return a copy of the
input array, while some return the view. When the contents are
physically stored in another location, it is called Copy. If on the other hand, a different view of the same memory content is provided, we call it as View.
NumPy - Matrix Library
NumPy package contains a Matrix library numpy.matlib. This module has functions that return matrices instead of ndarray objects.
matlib.empty()
The matlib.empty() function returns a new matrix without initializing the entries. The function takes the following parameters.numpy.matlib.empty(shape, dtype, order)Where,
NumPy - Linear Algebra
NumPy package contains numpy.linalg module that provides all
the functionality required for linear algebra. Some of the important
functions in this module are described in the following table.
S.No | Function & Description |
---|---|
1. | dot
Dot product of the two arrays |
NumPy - Matplotlib
Matplotlib is a plotting library for Python. It is used along with
NumPy to provide an environment that is an effective open source
alternative for MatLab. It can also be used with graphics toolkits like
PyQt and wxPython.
Matplotlib module was first written by John D. Hunter. Since 2012, Michael Droettboom is the principal developer. Currently, Matplotlib ver. 1.5.1 is the stable version available. The package is available in binary distribution as well as in the source code form on www.matplotlib.org.
Matplotlib module was first written by John D. Hunter. Since 2012, Michael Droettboom is the principal developer. Currently, Matplotlib ver. 1.5.1 is the stable version available. The package is available in binary distribution as well as in the source code form on www.matplotlib.org.
NumPy - Histogram Using Matplotlib
NumPy has a numpy.histogram() function that is a graphical
representation of the frequency distribution of data. Rectangles of
equal horizontal size corresponding to class interval called bin and variable height corresponding to frequency.
I/O with NumPy
The ndarray objects can be saved to and loaded from the disk files. The IO functions available are −
- load() and save() functions handle /numPy binary files (with npy extension)
- loadtxt() and savetxt() functions handle normal text files
NumPy - Quick Guide
NumPy - Introduction
NumPy is a Python package. It stands for 'Numerical Python'. It is a library consisting of multidimensional array objects and a collection of routines for processing of array.Numeric, the ancestor of NumPy, was developed by Jim Hugunin. Another package Numarray was also developed, having some additional functionalities.
NumPy - Useful Resources
The following resources contain additional information on NumPy. Please use them to get more in-depth knowledge on this.
Discuss NumPy
NumPy, which stands for Numerical Python, is a library consisting of
multidimensional array objects and a collection of routines for
processing those arrays. Using NumPy, mathematical and logical
operations on arrays can be performed. This tutorial explains the basics
of NumPy such as its architecture and environment. It also discusses
the various array functions, types of indexing, etc. An introduction to
Matplotlib is also provided. All this is explained with the help of
examples for better understanding.
Lua - Overview
Lua is an extensible, light-weight programming language written in C.
It started as an in-house project in 1993 by Roberto Ierusalimschy,
Luiz Henrique de Figueiredo, and Waldemar Celes.
It was designed from the beginning to be a software that can be integrated with the code written in C and other conventional languages.
It was designed from the beginning to be a software that can be integrated with the code written in C and other conventional languages.
Lua - Environment
Try it Option Online
We have set up the Lua Programming environment online, so that you can compile and execute all the available examples online. It gives you confidence in what you are reading and enables you to verify the programs with different options. Feel free to modify any example and execute it online.
Lua - Basic Syntax
Let us start creating our first Lua program!
First Lua Program
Interactive Mode Programming
Lua provides a mode called interactive mode. In this mode, you can type in instructions one after the other and get instant results. This can be invoked in the shell by using the lua -i or just the lua command. Once you type in this, press Enter and the interactive mode will be started as shown below.Lua - Variables
A variable is nothing but a name given to a storage area that our
programs can manipulate. It can hold different types of values including
functions and tables.
The name of a variable can be composed of letters, digits, and the underscore character. It must begin with either a letter or an underscore. Upper and lowercase letters are distinct because Lua is case-sensitive. There are eight basic types of values in Lua −
The name of a variable can be composed of letters, digits, and the underscore character. It must begin with either a letter or an underscore. Upper and lowercase letters are distinct because Lua is case-sensitive. There are eight basic types of values in Lua −
Lua - Data Types
Lua is a dynamically typed language, so the variables don't have
types, only the values have types. Values can be stored in variables,
passed as parameters and returned as results.
In Lua, though we don't have variable data types, but we have types for the values. The list of data types for values are given below.
In Lua, though we don't have variable data types, but we have types for the values. The list of data types for values are given below.
Lua - Operators
An operator is a symbol that tells the interpreter to perform
specific mathematical or logical manipulations. Lua language is rich in
built-in operators and provides the following type of operators −
- Arithmetic Operators
- Relational Operators
- Logical Operators
- Misc Operators
Lua - Loops
There may be a situation when you need to execute a block of code several number of times. In general, statements are executed sequentially − the first statement in a function is executed first, followed by the second, and so on.
Lua - Decision Making
Decision making structures require that the programmer specifies one or more conditions to be evaluated or tested by the program, along with a statement or statements to be executed, if the condition is determined to be true, and optionally, other statements to be executed if the condition is determined to be false.
Lua - Functions
A function is a group of statements that together perform a task. You
can divide up your code into separate functions. How you divide up your
code among different functions is up to you, but logically the division
usually unique, is so each function performs a specific task.
Lua - Strings
String is a sequence of characters as well as control characters like
form feed. String can be initialized with three forms which includes −
- Characters between single quotes
- Characters between double quotes
- Characters between [[ and ]]
Lua - Arrays
Arrays are ordered arrangement of objects, which may be a one
dimensional array containing a collection of rows or a multi-dimensional
array containing multiple rows and columns.
In Lua, arrays are implemented using indexing tables with integers. The size of an array is not fixed and it can grow based on our requirements, subject to memory constraints.
In Lua, arrays are implemented using indexing tables with integers. The size of an array is not fixed and it can grow based on our requirements, subject to memory constraints.
Lua - Iterators
Iterator is a construct that enables you to traverse through the
elements of the so called collection or container. In Lua, these
collections often refer to tables, which are used to create various data
structures like array.
Lua - Tables
Introduction
Tables are the only data structure available in Lua that helps us create different types like arrays and dictionaries. Lua uses associative arrays and which can be indexed with not only numbers but also with strings except nil. Tables have no fixed size and can grow based on our need.Lua - Modules
What is a Module?
Module is like a library that can be loaded using require and has a single global name containing a table. This module can consist of a number of functions and variables. All these functions and variables are wrapped in to the table which acts as a namespace. Also a well behaved module has necessary provisions to return this table on require.Lua - Metatables
A metatable is a table that helps in modifying the behavior of a table it is attached to with the help of a key set and related meta methods. These meta methods are powerful Lua functionality that enables features like, −
- Changing/adding functionalities to operators on tables.
- Looking up metatables when the key is not available in the table using __index in metatable.
Lua - Coroutines
Introduction
Coroutines are collaborative in nature, which allows two or more methods to execute in a controlled manner. With coroutines, at any given time, only one coroutine runs and this running coroutine only suspends its execution when it explicitly requests to be suspended.Lua - File I/O
I/O library is used for reading and manipulating files in Lua. There are two kinds of file operations in Lua namely implicit file descriptors and explicit file descriptors.
For the following examples, we will use a sample file test.lua as shown below.
For the following examples, we will use a sample file test.lua as shown below.
-- sample test.lua -- sample2 test.lua
Lua - Error Handling
Need for Error Handling
Error handling is quite critical since real-world operations often require the use of complex operations, which includes file operations, database transactions and web service calls.In any programming, there is always a requirement for error handling. Errors can be of two types which includes,
Thursday, March 23, 2017
Lua - Debugging
Lua provides a debug library, which provides all the primitive
functions for us to create our own debugger. Even though, there is no
in-built Lua debugger, we have many debuggers for Lua, created by
various developers with many being open source.
The functions available in the Lua debug library are listed in the following table along with its uses.
The functions available in the Lua debug library are listed in the following table along with its uses.
Lua - Garbage Collection
Lua uses automatic memory management that uses garbage collection
based on certain algorithms that is in-built in Lua. As a result of
automatic memory management, as a developer −
- No need to worry about allocating memory for objects.
- No need to free them when no longer needed except for setting it to nil.
Lua - Object Oriented
Introduction to OOP
Object Oriented Programming(OOP), is one the most used programming technique that is used in the modern era of programming. There are a number of programming languages that support OOP which include,Lua - Web Programming
Lua is a highly flexible language and it is often used in multiple
platforms including web applications. The Kepler community that was
formed in 2004 to provide open source web components in Lua.
Even though, there are other web frameworks using Lua that have been developed, we will be primarily focusing on the components provided by Kepler community.
Even though, there are other web frameworks using Lua that have been developed, we will be primarily focusing on the components provided by Kepler community.
Lua - Database Access
For simple data operations, we may use files, but, sometimes, these
file operations may not be efficient, scalable, and powerful. For this
purpose, we may often switch to using databases. LuaSQL is a simple
interface from Lua to a number of database management systems. LuaSQL is
the library, which provides support for different types of SQL. This
include,
Lua - Game Programing
Lua is used in a lot of game engines due to its simple language
structure and syntax. The garbage collection feature is often quite
useful in games which consume a lot of memory due to rich graphics that
is used. Some game engines that use Lua includes −
- Corona SDK
- Gideros Mobile
- ShiVa3D
- Moai SDK
- LOVE
- CryEngine
Lua - Standard Libraries
Lua standard libraries provide a rich set of functions that is
implemented directly with the C API and is in-built with Lua programming
language. These libraries provide services within the Lua programming
language and also outside services like file and db operations.
These standard libraries built in official C API are provided as separate C modules. It includes the following
These standard libraries built in official C API are provided as separate C modules. It includes the following
Lua - Math library
We often need math operations in scientific and engineering
calculations and we can avail this using the standard Lua library math.
The list of functions available in math library is shown in the
following table.
Lua - Operating System Facilities
In any application, it is often required for to access Operating
System level functions and it is made available with Operating System
library. The list of functions available are listed in the following
table.
S.N. | Library / Method & Purpose |
---|---|
1. | os.clock () Returns an approximation of the amount in seconds of CPU time used by the program. |
2. | os.date ([format [, time]]) |
Lua - Quick Guide
Lua - Overview
Lua is an extensible, light-weight programming language written in C. It started as an in-house project in 1993 by Roberto Ierusalimschy, Luiz Henrique de Figueiredo, and Waldemar Celes.It was designed from the beginning to be a software that can be integrated with the code written in C and other conventional languages.
Lua - Useful Resources
The following resources contain additional information on Lua. Please use them to get more in-depth knowledge on this topic.
Discuss Lua
Lua programming language is an open source language built on top of C
programming language. Lua has its value across multiple platforms
ranging from large server systems to small mobile applications. This
tutorial will cover various topics ranging from the basics of the Lua
programming language and its scope in various applications.
JavaScript - Overview
What is JavaScript ?
Javascript is a dynamic computer programming language. It is lightweight and most commonly used as a part of web pages, whose implementations allow client-side script to interact with the user and make dynamic pages. It is an interpreted programming language with object-oriented capabilities.JavaScript - Syntax
JavaScript can be implemented using JavaScript statements that are placed within the <script>... </script> HTML tags in a web page.
You can place the <script> tags, containing your JavaScript, anywhere within your web page, but it is normally recommended that you should keep it within the <head> tags.
The <script> tag alerts the browser program to start interpreting all the text between these tags as a script. A simple syntax of your JavaScript will appear as follows.
You can place the <script> tags, containing your JavaScript, anywhere within your web page, but it is normally recommended that you should keep it within the <head> tags.
The <script> tag alerts the browser program to start interpreting all the text between these tags as a script. A simple syntax of your JavaScript will appear as follows.
Enabling JavaScript in Browsers
All the modern browsers come with built-in support for JavaScript.
Frequently, you may need to enable or disable this support manually.
This chapter explains the procedure of enabling and disabling JavaScript
support in your browsers: Internet Explorer, Firefox, chrome, and
Opera.
JavaScript - Placement in HTML File
There is a flexibility given to include JavaScript code anywhere in
an HTML document. However the most preferred ways to include JavaScript
in an HTML file are as follows −
- Script in <head>...</head> section.
- Script in <body>...</body> section.
- Script in <body>...</body> and <head>...</head> sections.
- Script in an external file and then include in <head>...</head> section.
JavaScript - Variables
JavaScript Datatypes
One of the most fundamental characteristics of a programming language is the set of data types it supports. These are the type of values that can be represented and manipulated in a programming language.JavaScript allows you to work with three primitive data types −
JavaScript - Operators
What is an operator?
Let us take a simple expression 4 + 5 is equal to 9. Here 4 and 5 are called operands and ‘+’ is called the operator. JavaScript supports the following types of operators.- Arithmetic Operators
- Comparision Operators
- Logical (or Relational) Operators
- Assignment Operators
- Conditional (or ternary) Operators
JavaScript - if...else Statement
While writing a program, there may be a situation when you need to
adopt one out of a given set of paths. In such cases, you need to use
conditional statements that allow your program to make correct decisions
and perform right actions.
JavaScript supports conditional statements which are used to perform different actions based on different conditions. Here we will explain the if..else statement.
JavaScript supports conditional statements which are used to perform different actions based on different conditions. Here we will explain the if..else statement.
JavaScript - Switch Case
You can use multiple if...else…if statements, as in the
previous chapter, to perform a multiway branch. However, this is not
always the best solution, especially when all of the branches depend on
the value of a single variable.
Starting with JavaScript 1.2, you can use a switch statement which handles exactly this situation, and it does so more efficiently than repeated if...else if statements.
Starting with JavaScript 1.2, you can use a switch statement which handles exactly this situation, and it does so more efficiently than repeated if...else if statements.
JavaScript - While Loops
While writing a program, you may encounter a situation where you need
to perform an action over and over again. In such situations, you would
need to write loop statements to reduce the number of lines.
JavaScript supports all the necessary loops to ease down the pressure of programming.
JavaScript supports all the necessary loops to ease down the pressure of programming.
JavaScript - For Loop
The 'for' loop is the most compact form of looping. It includes the following three important parts −
- The loop initialization where we initialize our counter to a starting value. The initialization statement is executed before the loop begins.
JavaScript for...in loop
The for...in loop is used to loop through an object's
properties. As we have not discussed Objects yet, you may not feel
comfortable with this loop. But once you understand how objects behave
in JavaScript, you will find this loop very useful.
JavaScript - Loop Control
JavaScript provides full control to handle loops and switch
statements. There may be a situation when you need to come out of a loop
without reaching its bottom. There may also be a situation when you
want to skip a part of your code block and start the next iteration of
the loop.
JavaScript - Functions
A function is a group of reusable code which can be called anywhere
in your program. This eliminates the need of writing the same code again
and again. It helps programmers in writing modular codes. Functions
allow a programmer to divide a big program into a number of small and
manageable functions.
JavaScript - Events
What is an Event ?
JavaScript's interaction with HTML is handled through events that occur when the user or the browser manipulates a page.When the page loads, it is called an event. When the user clicks a button, that click too is an event. Other examples include events like pressing any key, closing a window, resizing a window, etc.
JavaScript and Cookies
What are Cookies ?
Web Browsers and Servers use HTTP protocol to communicate and HTTP is a stateless protocol. But for a commercial website, it is required to maintain session information among different pages. For example, one user registration ends after completing many pages. But how to maintain users' session information across all the web pages.JavaScript - Page Redirection
What is Page Redirection ?
You might have encountered a situation where you clicked a URL to reach a page X but internally you were directed to another page Y. It happens due to page redirection. This concept is different from JavaScript Page Refresh.There could be various reasons why you would like to redirect a user from the original page. We are listing down a few of the reasons −
JavaScript - Dialog Boxes
JavaScript supports three important types of dialog boxes. These
dialog boxes can be used to raise and alert, or to get confirmation on
any input or to have a kind of input from the users. Here we will
discuss each dialog box one by one.
JavaScript - Void Keyword
void is an important keyword in JavaScript which can be used
as a unary operator that appears before its single operand, which may be
of any type. This operator specifies an expression to be evaluated
without returning a value.
JavaScript - Page Printing
Many times you would like to place a button on your webpage to print
the content of that web page via an actual printer. JavaScript helps you
to implement this functionality using the print function of window object.
The JavaScript print function window.print() prints the current web page when executed. You can call this function directly using the onclick event as shown in the following example.
The JavaScript print function window.print() prints the current web page when executed. You can call this function directly using the onclick event as shown in the following example.
JavaScript - Objects Overview
JavaScript is an Object Oriented Programming (OOP) language. A
programming language can be called object-oriented if it provides four
basic capabilities to developers −
- Encapsulation − the capability to store related information, whether data or methods, together in an object.
- Aggregation − the capability to store one object inside another object.
- Inheritance − the capability of a class to rely upon another class (or number of classes) for some of its properties and methods.
JavaScript - The Number Object
The Number object represents numerical date, either integers or floating-point numbers. In general, you do not need to worry about Number objects because the browser automatically converts number literals to instances of the number class.
JavaScript - The Boolean Object
The Boolean object represents two values, either "true" or "false". If value parameter is omitted or is 0, -0, null, false, NaN, undefined, or the empty string (""), the object has an initial value of false.
Syntax
Use the following syntax to create a boolean object.var val = new Boolean(value);
JavaScript - The Strings Object
The String object lets you work with a series of characters;
it wraps Javascript's string primitive data type with a number of helper
methods.
As JavaScript automatically converts between string primitives and String objects, you can call any of the helper methods of the String object on a string primitive.
As JavaScript automatically converts between string primitives and String objects, you can call any of the helper methods of the String object on a string primitive.
JavaScript - The Arrays Object
The Array object lets you store multiple values in a single
variable. It stores a fixed-size sequential collection of elements of
the same type. An array is used to store a collection of data, but it is
often more useful to think of an array as a collection of variables of
the same type.
JavaScript - The Date Object
The Date object is a datatype built into the JavaScript language. Date objects are created with the new Date( ) as shown below.
Once a Date object is created, a number of methods allow you to operate on it. Most methods simply allow you to get and set the year, month, day, hour, minute, second, and millisecond fields of the object, using either local time or UTC (universal, or GMT) time.
Once a Date object is created, a number of methods allow you to operate on it. Most methods simply allow you to get and set the year, month, day, hour, minute, second, and millisecond fields of the object, using either local time or UTC (universal, or GMT) time.
JavaScript - The Math Object
The math object provides you properties and methods for mathematical constants and functions. Unlike other global objects, Math is not a constructor. All the properties and methods of Math are static and can be called by using Math as an object without creating it.
Thus, you refer to the constant pi as Math.PI and you call the sine function as Math.sin(x), where x is the method's argument.
Thus, you refer to the constant pi as Math.PI and you call the sine function as Math.sin(x), where x is the method's argument.
Regular Expressions and RegExp Object
A regular expression is an object that describes a pattern of characters.
The JavaScript RegExp class represents regular expressions, and both String and RegExp define methods that use regular expressions to perform powerful pattern-matching and search-and-replace functions on text.
The JavaScript RegExp class represents regular expressions, and both String and RegExp define methods that use regular expressions to perform powerful pattern-matching and search-and-replace functions on text.
JavaScript - Document Object Model or DOM
Every web page resides inside a browser window which can be considered as an object.
A Document object represents the HTML document that is displayed in that window. The Document object has various properties that refer to other objects which allow access to and modification of document content.
A Document object represents the HTML document that is displayed in that window. The Document object has various properties that refer to other objects which allow access to and modification of document content.
JavaScript - Errors & Exceptions Handling
There are three types of errors in programming: (a) Syntax Errors, (b) Runtime Errors, and (c) Logical Errors.
For example, the following line causes a syntax error because it is missing a closing parenthesis.
Syntax Errors
Syntax errors, also called parsing errors, occur at compile time in traditional programming languages and at interpret time in JavaScript.For example, the following line causes a syntax error because it is missing a closing parenthesis.
<script type="text/javascript">
JavaScript - Form Validation
Form validation normally used to occur at the server, after the
client had entered all the necessary data and then pressed the Submit
button. If the data entered by a client was incorrect or was simply
missing, the server would have to send all the data back to the client
and request that the form be resubmitted with correct information.
JavaScript - Animation
You can use JavaScript to create a complex animation having, but not limited to, the following elements −
- Fireworks
- Fade Effect
- Roll-in or Roll-out
- Page-in or Page-out
- Object movements
JavaScript - Multimedia
The JavaScript navigator object includes a child object called plugins.
This object is an array, with one entry for each plug-in installed on
the browser. The navigator.plugins object is supported only by Netscape,
Firefox, and Mozilla only.
JavaScript - Debugging
Every now and then, developers commit mistakes while coding. A mistake in a program or a script is referred to as a bug.
The process of finding and fixing bugs is called debugging and is a normal part of the development process. This section covers tools and techniques that can help you with debugging tasks..
The process of finding and fixing bugs is called debugging and is a normal part of the development process. This section covers tools and techniques that can help you with debugging tasks..
JavaScript - Image Map
You can use JavaScript to create client-side image map. Client-side image maps are enabled by the usemap attribute for the <img /> tag and defined by special <map> and <area> extension tags.
The image that is going to form the map is inserted into the page using the <img /> element as normal, except that it carries an extra attribute called usemap.
The image that is going to form the map is inserted into the page using the <img /> element as normal, except that it carries an extra attribute called usemap.
JavaScript - Browsers Compatibility
It is important to understand the differences between different browsers in order to handle each in the way it is expected. So it is important to know which browser your web page is running in.
To get information about the browser your webpage is currently running in, use the built-in navigator object.
To get information about the browser your webpage is currently running in, use the built-in navigator object.
Javascript Questions and Answers
Javascript Questions and Answers has been designed with a special intention of helping students and professionals preparing for various Certification Exams and Job Interviews. This section provides a useful collection of sample Interview Questions and Multiple Choice Questions (MCQs) and their answers with appropriate explanations.
JavaScript - Quick Guide
JavaScript - Overview
What is JavaScript ?
Javascript is a dynamic computer programming language. It is lightweight and most commonly used as a part of web pages, whose implementations allow client-side script to interact with the user and make dynamic pages. It is an interpreted programming language with object-oriented capabilities.JavaScript Built-in Functions
Number Methods
The Number object contains only the default methods that are part of every object's definition.Method | Description |
---|---|
constructor() | Returns the function that created this object's instance. By default this is the Number object. |
toExponential() | Forces a number to display in exponential notation, even if the number is in the range in which JavaScript normally uses standard notation. |
Definitive Resources & Frameworks
If you want to list down your website, book or any other resource on this page then please contact at webmaster@tutorialspoint.com
- ECMAScript - Official website for ECMAScript. Learn about the ECMAScript language and discover the ECMAScript community.
Wednesday, March 22, 2017
Yii - Overview
The Yii[ji:] framework is an open-source PHP framework for
rapidly-developing, modern Web applications. It is built around the
Model-View-Controller composite pattern.
Yii provides secure and professional features to create robust projects rapidly. The Yii framework has a component-based architecture and a full solid caching support.
Yii provides secure and professional features to create robust projects rapidly. The Yii framework has a component-based architecture and a full solid caching support.
Yii - Installation
The most straightforward way to get started with Yii2 is to use the
basic application template provided by the Yii2 team. This template is
also available through the Composer tool.
Step 1 − Find a suitable directory in your hard drive and download the Composer PHAR (PHP archive) via the following command.
Step 1 − Find a suitable directory in your hard drive and download the Composer PHAR (PHP archive) via the following command.
Yii - Create Page
Now we are going to create a “Hello world” page in your application. To create a page, we must create an action and a view.
Actions are declared in controllers. The end user will receive the execution result of an action.
Step 1 − Declare the speak action in the existing SiteController, which is defined in the class file controllers/SiteController.php.
Actions are declared in controllers. The end user will receive the execution result of an action.
Step 1 − Declare the speak action in the existing SiteController, which is defined in the class file controllers/SiteController.php.
Yii - Application Structure
There is only one folder in the overall code base that is publicly
available for the web server. It is the web directory. Other folders
outside the web root directory are out of reach for the web server.
Note − All project dependencies are located in the composer.json file. Yii2 has a few important packages that are already included in your project by Composer. These packages are the following −
Note − All project dependencies are located in the composer.json file. Yii2 has a few important packages that are already included in your project by Composer. These packages are the following −
Yii - Entry Scripts
Entry scripts are responsible for starting a request handling cycle. They are just PHP scripts accessible by users.
The following illustration shows the structure of an application −
The following illustration shows the structure of an application −
Yii - Controllers
Controllers are responsible for processing requests and generating
responses. After user's request, the controller will analyze request
data, pass them to model, then insert the model result into a view, and
generate a response.
Yii - Using Controllers
Controllers in web applications should extend from yii\web\Controller or its child classes. In console applications, they should extend from yii\console\Controller or its child classes.
Let us create an example controller in the controllers folder.
Let us create an example controller in the controllers folder.
Yii - Using Actions
To create an action in a controller class, you should define a public
method whose name starts with the word action. The return data of an
action represents the response to be sent to the end user.
Step 1 − Let us define the hello-world action in our ExampleController.
Step 1 − Let us define the hello-world action in our ExampleController.
<?php
Yii - Models
Models are objects representing business logic and rules. To create a model, you should extend the yii\base\Model class or its subclasses.
Let us have a look at the ContactForm model of the basic application template.
Attributes
Attributes represent the business data. They can be accessed like array elements or object properties. Each attribute is a publicly accessible property of a model. To specify what attributes a model possesses, you should override the yii\base\Model::attributes() method.Let us have a look at the ContactForm model of the basic application template.
Yii - Widgets
A widget is a reusable client-side code, which contains HTML, CSS, and JS. This code includes minimal logic and is wrapped in a yii\base\Widget object. We can easily insert and apply this object in any view.
Step 1 − To see widgets in action, create an actionTestWidget function in the SiteController with the following code.
Step 1 − To see widgets in action, create an actionTestWidget function in the SiteController with the following code.
Yii - Modules
A module is an entity that has its own models, views, controllers,
and possibly other modules. It is practically an application inside the
application.
Step 1 − Create a folder called modules inside your project root. Inside the modules folder, create a folder named hello. This will be the basic folder for our Hello module.
Step 2 − Inside the hello folder, create a file Hello.php with the following code.
Step 1 − Create a folder called modules inside your project root. Inside the modules folder, create a folder named hello. This will be the basic folder for our Hello module.
Step 2 − Inside the hello folder, create a file Hello.php with the following code.
Yii - Views
Views are responsible for presenting the data to end users. In web applications, Views are just PHP script files containing HTML and PHP code.
Creating Views
Step 1 − Let us have a look at the ‘About’ view of the basic application template.<?php /* @var $this yii\web\View */ use yii\helpers\Html; $this->title = 'About';
Yii - Layouts
Layouts represent the common parts of multiple views i.e. for
example, page header and footer. By default, layouts should be stored in
the views/layouts folder.
Let us have a look at the main layout of the basic application template −
Let us have a look at the main layout of the basic application template −
Yii - Assets
An asset is a file (css, js, video, audio or image, etc.) that may be referenced in a web page. Yii manages assets in asset bundles. The purpose of an asset bundle is to have a group of related JS or CSS
files in the code base and to be able to register them within a single
PHP call. Asset bundles can also depend on other asset bundles.
Yii - Asset Conversion
Instead of writing CSS or JS code, developers often use extended syntax, like LESS, SCSS, Stylus for CSS and TypeScript, CoffeeScript for JS. Then they use special tools to convert these files into real CSS and JS.
Yii - Extensions
Extensions are packages specifically designed to be used in Yii
applications. You can share your own code as an extension or use
third-party extensions to add features to your application.
To install a third-party extension, you should −
Using Extensions
Most extensions are distributed as Composer packages. Composer installs packages from Packagist – the repository for Composer packages.To install a third-party extension, you should −
Yii - Creating Extensions
Let us create a simple extension displaying a standard “Hello world” message. This extension will be distributed via the Packagist repository.
Step 1 − Create a folder called hello-world in your hard drive but not inside the Yii basic application template). Inside the hello-world directory, create a file named composer.json with the following code.
Step 1 − Create a folder called hello-world in your hard drive but not inside the Yii basic application template). Inside the hello-world directory, create a file named composer.json with the following code.
Yii - HTTP Requests
Requests are represented by the yii\web\Request object, which provides information about HTTP headers, request parameters, cookies, and so forth.
The methods get() and post() return request parameters of the request component.
Example −
The methods get() and post() return request parameters of the request component.
Example −
Yii - Responses
When a web application handles a request, it generates a response
object, which contains HTTP headers, body, and HTTP status code. In most
cases, you will use the response application component. By default, it
is an instance of yii\web\Response.
Yii - URL Formats
When a Yii application processes a requested URL, first, it parses
the URL into a route. Then, to handle the request, this route is used to
instantiate the corresponding controller action. This process is called
routing. The reverse process is called URL creation. The urlManager application component is responsible for routing and URL creation. It provides two methods −
Yii - URL Routing
To change the default route of the application, you should configure the defaultRoute property.
Step 1 − Modify the config/web.php file in the following way.
Step 1 − Modify the config/web.php file in the following way.
<?php $params = require(__DIR__ . '/params.php'); $config = [ 'id' => 'basic',
Yii - Rules of URL
A URL rule is an instance if yii\web\UrlRule. The urlManager components uses the URL rules declared in its rules property when the pretty URL format is enabled.
To parse a request, the URL manager obtains the rules in the order they are declared and looks for the first rule.
To parse a request, the URL manager obtains the rules in the order they are declared and looks for the first rule.
Yii - HTML Forms
When a form is based upon a model, the common way of creating this form in Yii is via the yii\widgets\ActiveForm
class. In most cases, a form has a corresponding model which is used
for data validation. If the model represents data from a database, then
the model should be derived from the ActiveRecord class. If the model captures arbitrary input, it should be derived from the yii\base\Model class.
Yii - Validation
You should never trust the data received from users. To validate a model with user inputs, you should call yii\base\Model::validate() method. It returns a Boolean value if the validation succeeds. If there are errors, you may get them from the yii\base\Model::$errors property.
Yii - Ad Hoc Validation
Sometimes you need to validate values that are not bound to any model. You can use the yii\base\DynamicModel class, which supports defining both attributes and rules on the fly.
Step 1 − Add the actionAdHocValidation method to the SiteController.
Step 1 − Add the actionAdHocValidation method to the SiteController.
Yii - AJAX Validation
The username validation should only be done on the server side
because only the server has the needed information. In this case, you
can use AJAX-based validation.
Step 1 − To enable the AJAX validation, modify the registration view this way.
Step 1 − To enable the AJAX validation, modify the registration view this way.
<?php use yii\bootstrap\ActiveForm; use yii\bootstrap\Html; ?>
Yii - Sessions
Sessions make data accessible across various pages. A session creates
a file on the server in a temporary directory where all session
variables are stored. This data is available to all the pages of your
web site during the visit of that particular user.
When a session starts, the following happens −
When a session starts, the following happens −
Yii - Using Flash Data
Yii provides a concept of flash data. Flash data is a session data which −
- Is set in one request.
- Will only be available on the next request.
- Will be automatically deleted afterwards.
Yii - Cookies
Cookies are plain text files stored on the client side. You can use them for tracking purpose.
There are three steps to identify a returning user −
There are three steps to identify a returning user −
- Server sends a set of cookies to the client (browser). For example, id or token.
- Browser stores it.
- Next time a browser sends a request to the web server, it also
sends those cookies, so that the server can use that information to
identify the user.
Yii - Using Cookies
Cookies allow data to be persisted across requests. In PHP, you may access them through the $_COOKIE variable. Yii represents cookie as an object of the yii\web\Cookie class. In this chapter, we describe several methods for reading cookies.
Yii - Files Upload
You can easily implement a file uploading function with the help of yii\web\UploadedFile, models and yii\widgets\ActiveForm.
Create a directory ‘uploads’ in the root folder. This directory will hold all of the uploaded images. To upload a single file, you need to create a model and an attribute of the model for uploaded file instance. You should also validate the file upload.
Create a directory ‘uploads’ in the root folder. This directory will hold all of the uploaded images. To upload a single file, you need to create a model and an attribute of the model for uploaded file instance. You should also validate the file upload.
Yii - Formatting
To display data in a readable format, you can use the formatter application component.
Step1 − Add the actionFormatter method to the SiteController.
Step1 − Add the actionFormatter method to the SiteController.
public function actionFormatter(){ return $this->render('formatter');
Yii - Pagination
When you have too much data to display on a single page, you should
display it on multiple pages. This is also known as pagination.
To show pagination in action, we need data.
To show pagination in action, we need data.
Yii - Sorting
When displaying lots of data, we often need to sort the data. Yii uses an yii\data\Sort object to represent a sorting schema.
To show sorting in action, we need data.
To show sorting in action, we need data.
Yii - Properties
Class member variables in PHP are also called properties. They represent the state of class instance. Yii introduces a class called yii\base\Object. It supports defining properties via getter or setter class methods.
A getter method starts with the word get. A setter method starts with set. You can use properties defined by getters and setters like class member variables.
A getter method starts with the word get. A setter method starts with set. You can use properties defined by getters and setters like class member variables.
Yii - Data Providers
Yii provides a set of data provider classes that encapsulate
pagination and sorting. A data provider implements
yii\data\DataProviderInterface. It supports retrieving sorted and
paginated data. Data providers usually work with data widgets.
Yii includes −
Yii includes −
Yii - Data Widgets
Yii provides a set of widgets for displaying data. You can use the
DetailView widget to display a single record. The ListView widget, as
well as Grid View, can be used to display a table of records with
features like filtering, sorting, and pagination.
Yii - ListView Widget
The ListView widget uses a data provider to display data. Each model is rendered using the specified view file.
Step 1 − Modify the actionDataWidget() method this way.
Step 1 − Modify the actionDataWidget() method this way.
public function actionDataWidget() { $dataProvider = new ActiveDataProvider([ 'query' => MyUser::find(), 'pagination' => [ 'pageSize' => 20,
Yii - GridView Widget
The GridView widget takes data from a data provider and presents data
in the form of a table. Each row of the table represents a single data
item, and a column represents an attribute of the item.
Step 1 − Modify the datawidget view this way.
Step 1 − Modify the datawidget view this way.
<?php use yii\grid\GridView; echo GridView::widget([ 'dataProvider' => $dataProvider,
Yii - Events
You can use events to inject custom code at certain execution
points. You can attach custom code to an event, and when the event is
triggered, the code gets executed. For example, a logger object may
trigger a userRegistered event when a new user registers on your
web site. If a class needs to trigger events, you should extend it from
the yii\base\Component class.
An event handler is a PHP callback. You can use the following callbacks −
An event handler is a PHP callback. You can use the following callbacks −
Yii - Creating Event
In this chapter we will see to create an event in Yii. To show events in action, we need data.
Preparing the DB
Step 1 − Create a new database. Database can be prepared in the following two ways.- In the terminal run mysql -u root –p
- Create a new database via CREATE DATABASE helloworld CHARACTER SET utf8 COLLATE utf8_general_ci;
Yii - Behaviors
Behaviors are instances of the yii\base\Behavior class. A behavior
injects its methods and properties to the component it is attached to.
Behaviors can also respond to the events triggered by the component.
Step 1 − To define a behavior, extend the yii\base\Behavior class.
Step 1 − To define a behavior, extend the yii\base\Behavior class.
Yii - Creating a Behavior
Assume we want to create a behavior that will uppercase the “name” property of the component the behavior is attached to.
Step 1 − Inside the components folder, create a file called UppercaseBehavior.php with the following code.
Step 1 − Inside the components folder, create a file called UppercaseBehavior.php with the following code.
<?php
Yii - Configurations
Configurations are used to create new objects or initializing the
existing ones. Configurations usually include a class name and a list of
initial values. They may also include a list of event handlers and
behaviors.
The following is an example of the database configuration −
The following is an example of the database configuration −
<?php
Yii - Dependency Injection
A DI(dependency injection) container is an object that knows how to
instantiate and configure objects. Yii provides the DI container via the
yii\di\Container class.
It supports the following kinds of DI −
It supports the following kinds of DI −
- Setter and property injection
- PHP callable injection
- Constructor injection
- Controller action injection
Yii - Database Access
Yii DAO (Database Access Object) provides an API for accessing
databases. It also serves as the foundation for other database access
methods: active record and query builder.
Yii DAO supports the following databases −
Yii DAO supports the following databases −
Yii - Data Access Objects
To execute an SQL query, you should follow these steps −
- Create an yii\db\Command with an SQL query.
- Bind parameters (not required)
- Execute the command.
Yii - Query Builder
Query builder allows you to create SQL queries in a programmatic way.
Query builder helps you write more readable SQL-related code.
To use query builder, you should follow these steps −
To use query builder, you should follow these steps −
- Build an yii\db\Query object.
- Execute a query method.
Yii - Active Record
Active Record provides an object-oriented API for accessing data. An Active Record class is associated with a database table.
Yii provides the Active Record support for the following relational databases −
Yii provides the Active Record support for the following relational databases −
Yii - Database Migration
During the developing of a database-driven application, the database structure evolves with the source code. Yii provides the database migration feature that allows you to keep track of database changes.
Yii provides the following migration command line tools −
Yii provides the following migration command line tools −
Yii - Theming
Theming helps you replace a set of views with another one without the need of modifying original view files. You should set the theme property of the view application component to use theming.
You should also define the following properties −
You should also define the following properties −
Yii - RESTful APIs
Yii provides the following useful features for implementing RESTful APIs −
- Quick prototyping
- Customizable object serialization
- Response format (supporting JSON and XML by default)
- Formatting of collection data and validation errors
- Efficient routing
Yii - RESTful APIs in Action
The controller class extends from the yii\rest\ActiveController class, which implements common RESTful actions. We specify the $modelClass property so that the controller knows which model to use for manipulating data.
Step 1 − Create a file called UserController.php inside the controllers folder.
Step 1 − Create a file called UserController.php inside the controllers folder.
<?php
Yii - Fields
By overriding fields() and extraFields() methods, you can
define what data can be put into a response. The difference between
these two methods is that the former defines the default set of fields,
which should be included in the response while the latter defines
additional fields, which may be included in the response if an end user
requests for them via the expand query parameter.
Yii - Testing
When we write a PHP class, we debug it step by step or use die or
echo statements to verify how it works. If we develop a web application,
we are entering test data in forms to ensure the page works as we
expected. This test process can be automated.
Automatic test approach makes sense for long term projects, which are −
Automatic test approach makes sense for long term projects, which are −
Yii - Caching
Caching is an effective way to improve the performance of your
application. Caching mechanisms store static data in cache and get it
from cache when requested. On the server side, you may use cache to
store basic data, such as a list of most recent news. You can also store
page fragments or whole web pages. On the client side, you can use HTTP
caching to keep most recently visited pages in the browser cache.
Yii - Fragment Caching
Fragment caching provides caching of a fragment of a web page.
Step 1 − Add a new function called actionFragmentCaching() to the SiteController.
Step 1 − Add a new function called actionFragmentCaching() to the SiteController.
public function actionFragmentCaching() { $user = new MyUser(); $user->name = "cached user name";
Yii - Aliases
Aliases help you not to hard-code absolute paths or URLs in your project. An alias starts with the @ character.
To define an alias you should call the Yii::setAlias() method −
To define an alias you should call the Yii::setAlias() method −
// an alias of a file path Yii::setAlias('@alias', '/path/to/alias'); // an alias of a URL
Yii - Logging
Yii provides a highly customizable and extensible framework. With the help of this framework, you can easily log various types of messages.
To log a message, you should call one of the following methods −
To log a message, you should call one of the following methods −
- Yii::error() − Records a fatal error message.
- Yii::warning() − Records a warning message.
- Yii::info() − Records a message with some useful information.
- Yii::trace() − Records a message to trace how a piece of code runs.
Yii - Error Handling
Yii includes a built-in error handler. The Yii error handler does the following −
- Converts all non-fatal PHP errors into catchable exceptions.
- Displays all errors and exceptions with a detailed call stack.
- Supports different error formats.
- Supports using a controller action to display errors.
Yii - Authentication
The process of verifying the identity of a user is called authentication. It usually uses a username and a password to judge whether the user is one who he claims as.
To use the Yii authentication framework, you need to −
To use the Yii authentication framework, you need to −
Yii - Authorization
The process of verifying that a user has enough permission to do something is called authorization. Yii provides an ACF (Access Control Filter), an authorization method implemented as yii\filters\AccessControl. Modify the behaviors() function of the SiteController −
Yii - Localization
I18N (Internationalization) is the process of designing an application that can be adapted to various languages. Yii offers a full spectrum of I18N features.
Locale is a set of parameters that specify a user's language and country. For example, the en-US stands for the English locale and the United States.
Locale is a set of parameters that specify a user's language and country. For example, the en-US stands for the English locale and the United States.
Yii - Gii
Gii is the extension, that provides a web-based code generator for generating models, forms, modules, CRUD, and so forth.
By default, the following generators are available −
By default, the following generators are available −
- Model Generator − Generates an ActiveRecord class for the specified database table.
- CRUD Generator − Generates a controller and views that implement CRUD (Create, Read, Update, Delete) operations for the specified model.
Gii - Creating a Model
To create a Model in Gii −
<?php namespace app\models; use app\components\UppercaseBehavior; use Yii; /**
Gii - Generating Controller
Let us see how to generate a Controller.
Step 1 − To generate a controller with several actions, open the controller generator interface fill in the form.
Step 1 − To generate a controller with several actions, open the controller generator interface fill in the form.
Gii - Generating Module
Let us see how to generate a Module.
Step 1 − To generate a module, open the module generation interface and fill in the form.
Step 1 − To generate a module, open the module generation interface and fill in the form.
Yii - Quick Guide
Yii - Overview
The Yii[ji:] framework is an open-source PHP framework for rapidly-developing, modern Web applications. It is built around the Model-View-Controller composite pattern.Yii provides secure and professional features to create robust projects rapidly.
Yii - Useful Resources
The following resources contain additional information on Yii. Please use them to get more in-depth knowledge on this.
Useful Links on Yii
- Yii Wikipedia - Wikipedia Reference for Yii.
- Yii Official Site - Official Site for Yii.
Discuss Yii
The Yii[ji:] framework is an open-source PHP framework for
rapidly-developing, modern Web applications. It is built around the
Model-View-Controller composite pattern. Yii provides secure and
professional features to create robust projects rapidly.
Monday, March 20, 2017
XHTML - Introduction
XHTML stands for EXtensible HyperText Markup Language. It is the next step in the evolution of the internet. The XHTML 1.0 is the first document type in the XHTML family.
XHTML is almost identical to HTML 4.01 with only few differences. This is a cleaner and stricter version of HTML 4.01. If you already know HTML, then you need to give little attention to learn this latest version of HTML.
XHTML is almost identical to HTML 4.01 with only few differences. This is a cleaner and stricter version of HTML 4.01. If you already know HTML, then you need to give little attention to learn this latest version of HTML.
XHTML - Syntax
XHTML syntax is very similar to HTML syntax and almost all the valid
HTML elements are valid in XHTML as well. But when you write an XHTML
document, you need to pay a bit extra attention to make your HTML
document compliant to XHTML.
Here are the important points to remember while writing a new XHTML document or converting existing HTML document into XHTML document −
Here are the important points to remember while writing a new XHTML document or converting existing HTML document into XHTML document −
XHTML vs HTML
Due to the fact that XHTML is an XML application, certain practices
that were perfectly legal in SGML-based HTML 4 must be changed. You
already have seen XHTML syntax in previous chapter, so differences
between XHTML and HTML are very obvious. Following is the comparison
between XHTML and HTML.
XHTML - Doctypes
The XHTML standard defines three Document Type Definitions (DTDs).
The most commonly used and easy one is the XHTML Transitional document.
XHTML 1.0 document type definitions correspond to three DTDs −
XHTML 1.0 document type definitions correspond to three DTDs −
XHTML - Attributes
There are a few XHTML/HTML attributes which are standard and
associated to all the XHTML/HTML tags. These attributes are listed here
with brief description −
Core Attributes
Not valid in base, head, html, meta, param, script, style, and title elements.Attribute | Value | Description |
---|---|---|
class | class_rule or style_rule | The class of the element. |
Id | id_name | A unique id for the element. |
XHTML - Events
When users visit a website, they do things such as click on text,
images and hyperlinks, hover-over things, etc. These are examples of
what JavaScript calls events.
We can write our event handlers in JavaScript or VBScript and can specify these event handlers as a value of event tag attribute. The XHTML 1.0 has a similar set of events which is available in HTML 4.01 specification.
We can write our event handlers in JavaScript or VBScript and can specify these event handlers as a value of event tag attribute. The XHTML 1.0 has a similar set of events which is available in HTML 4.01 specification.
XHTML - Version 1.1
The W3C has helped move the internet content-development community
from the days of malformed, non-standard mark-up into the well-formed,
valid world of XML. In XHTML 1.0, this move was moderated by the goal of
providing easy migration of existing HTML 4 (or earlier) based content
to XHTML and XML.
XHTML - Tips & Tricks
This chapter lists out various tips and tricks which you should be
aware of while writing an XHTML document. These tips and tricks can help
you create effective documents.
Tips for Designing XHTML Document
Here are some basic guidelines for designing XHTML documents −XHTML - Validations
Every XHTML document is validated against a Document Type Definition.
Before validating an XHTML file properly, a correct DTD must be added
as the first or second line of the file.
Once you are ready to validate your XHTML document, you can use W3C Validator to validate your document. This tool is very handy and helps you to fix the problems with your document. This tool does not require any expertise to perform validation.
Once you are ready to validate your XHTML document, you can use W3C Validator to validate your document. This tool is very handy and helps you to fix the problems with your document. This tool does not require any expertise to perform validation.
XHTML - Summary
We assume you have understood all the concepts related to XHTML.
Therefore, you should be able to write your HTML document into a
well-formed XHTML document and get a cleaner version of your website.
XHTML - Quick Guide
XHTML - Introduction
XHTML stands for EXtensible HyperText Markup Language. It is the next step in the evolution of the internet. The XHTML 1.0 is the first document type in the XHTML family.XHTML is almost identical to HTML 4.01 with only few differences. This is a cleaner and stricter version of HTML 4.01. If you already know HTML, then you need to give little attention to learn this latest version of HTML.
XHTML - Useful Resources
The following resources contain additional information on XHTML. Please use them to get more in-depth knowledge on this.
Useful Links on XHTML
- XHTML Specification - Official website of HTML 4.01 Specification.
- XHTML - A vocabulary and associated APIs for HTML and XHTML
- Domain Names - Details of the domain system and protocol.
Discuss XHTML
This tutorial provides a basic understanding of XHTML, its syntax and
attributes with rules for using the same along with their practical
examples. It also describes Doctypes, attributes and events of XHTML. In
addition, it provides a few handy tips and tricks of using XTHML.
WordPress - Overview
WordPress is an open source Content Management System (CMS),
which allows the users to build dynamic websites and blogs. WordPress is
the most popular blogging system on the web and allows updating,
customizing and managing the website from its back-end CMS and
components.
WordPress - Installation
System Requirements for WordPress
- Database − MySQL 5.0 +
- Web Server −
- WAMP (Windows)
- LAMP (Linux)
- XAMP (Multi-platform)
- MAMP (Macintosh)
WordPress - Dashboard
The WordPress Dashboard is a first screen which will be seen when you
log into the administration area of your blog which will display the
overview of the website. It is a collection of gadgets that provide
information and provide an overview of what's happening with your blog.
You can customize your needs by using some quick links such as writing
quick draft, replying to latest comment, etc.
In this chapter, we will study about General Settings in
WordPress. WordPress general setting is used to set the basic
configuration settings for your site. In the setting administration
screen, it is a default setting screen.
Following are the steps to access the general settings −
Step 1 − Click on Settings → General option in WordPress.
Following are the steps to access the general settings −
Step 1 − Click on Settings → General option in WordPress.
WordPress - Writing Setting
The writing settings controls the writing experience and provides
options for customizing WordPress site. These settings control the
features in the adding and editing posts, Pages, and Post Types, as well
as the optional functions like Remote Publishing, Post via e-mail, and
Update Services.
Following are the steps to access the writing settings −
Step (1) − To change writing settings, go to Settings → Writing option.
Following are the steps to access the writing settings −
Step (1) − To change writing settings, go to Settings → Writing option.
WordPress - Reading Setting
In this chapter, we will study about Reading Settings in
WordPress. Reading Setting is used to set the content related to the
front page. You can set the number of post to be displayed on the main
page.
Following are the steps to access the reading settings −
Step (1) − Click on Settings → Reading option in WordPress.
Following are the steps to access the reading settings −
Step (1) − Click on Settings → Reading option in WordPress.
WordPress - Discussion Setting
In this chapter, we will study about Discussion settings in
WordPress. WordPress discussion setting can be defined as the
interaction between the blogger and the visitors. These settings are
done by the admin to have a control over the posts/pages that come in
through users.
Following are the steps to access the Discussion setting −
Following are the steps to access the Discussion setting −
WordPress - Media Setting
In this chapter, we will study about Media Settings in WordPress. It is used to set the height and width of the images which you're going to use on your website.
Step (1) − Click on Settings → Media option in WordPress.
Step (1) − Click on Settings → Media option in WordPress.
WordPress - Permalink Setting
In this chapter, we will learn about Permalink settings in
WordPress. Permalink is a permanent link to a particular blog post or
category. It allows setting the default permalink structure. These
settings are used to add permalinks to your posts in WordPress.
Following are the steps to access permalink settings.
Step (1) − Click on Settings → Permalinks option from the left navigation menu.
Step (1) − Click on Settings → Permalinks option from the left navigation menu.
WordPress - Plugin Setting
In this chapter, we will study how to use plugins in your WordPress
site. Plugin allows to easily modify, customize or enhance WordPress
blog or post. The WordPress Plugin is a software that can be uploaded to
expand the functionality of the site. They add services or features to
WordPress blog. Plugins are used to make your work easier. Following are
the simple steps to add plugins.
WordPress - Add Category
In this chapter, we will study about how to Add Categories in
WordPress. Category is used to indicate sections of your site and group
related posts. It sorts the group content into different sections. It is
a very convenient way to organize the posts.
To access the Category section, follows the mentioned steps −
Step (1) − Click on Posts → Categories option in WordPress.
To access the Category section, follows the mentioned steps −
Step (1) − Click on Posts → Categories option in WordPress.
WordPress - Edit Category
In this chapter, we will study the simple steps to Edit Categories in WordPress.
Following are the simple steps to edit categories in WordPress.
Step (1) − Click on Posts → Categories in WordPress.
Following are the simple steps to edit categories in WordPress.
Step (1) − Click on Posts → Categories in WordPress.
WordPress - Delete Category
In this chapter, we will study about how to Delete Categories in WordPress.
Following are the simple steps to delete categories in WordPress.
Step (1) − Click on Posts → Categories in WordPress.
Following are the simple steps to delete categories in WordPress.
Step (1) − Click on Posts → Categories in WordPress.
WordPress - Arrange Categories
In this chapter, we will study about how to Arrange Categories in WordPress. You can't arrange categories directly in WordPress. Hence, you will need to install Category Order plugin to arrange the created categories in a particular way.
Step (1) − Click on Posts → Category Order in WordPress. The Category Order menu displays after adding the Category Order plugin. You can study how to install plugins in the chapter Install Plugins.
Step (1) − Click on Posts → Category Order in WordPress. The Category Order menu displays after adding the Category Order plugin. You can study how to install plugins in the chapter Install Plugins.
WordPress - Add Posts
In this chapter, we will study how to Add Posts in WordPress. Posts are also known as articles and sometimes referred as blogs or blog posts. These are used to popularize your blogs.
Following are the simple steps to Add Posts in WordPress.
Step (1) − Click on Posts → Add New in WordPress.
Following are the simple steps to Add Posts in WordPress.
Step (1) − Click on Posts → Add New in WordPress.
WordPress - Edit Posts
In this chapter, we will study how to Edit Posts on WordPress.
Following are the simple steps to Edit Posts in WordPress.
Step (1) − Click on Posts → All Posts in WordPress.
Following are the simple steps to Edit Posts in WordPress.
Step (1) − Click on Posts → All Posts in WordPress.
WordPress - Delete Posts
In this chapter, we will study how to Delete Posts in WordPress.
Following are the steps to Delete Posts in WordPress.
Step (1) − Click on Posts → All Post in WordPress.
Following are the steps to Delete Posts in WordPress.
Step (1) − Click on Posts → All Post in WordPress.
WordPress - Preview Posts
In this chapter, we will study how to Preview Posts in WordPress. Preview Post is to view the post before it is published to the user. It is safer to preview your post and verify how your post looks on the website. You can edit or change the post as per your need after previewing.
Following are the simple steps to Preview Posts in WordPress.
Step (1) − Click on Posts → All Posts in wordPress.
Following are the simple steps to Preview Posts in WordPress.
Step (1) − Click on Posts → All Posts in wordPress.
Subscribe to:
Posts (Atom)