What is Yii Framework?
=>Yii is a
high-performance component-based PHP framework best
for Web 2.0 development.
What Yii is so
FAST?
=> Yii
is so much faster because it is using the lazy loading technique extensively.
For example, it does not include a class file until the class is used for the
first time; and it does not create an object until the object is accessed for
the first time. Other frameworks suffer from the performance hit because they
would enable a functionality (e.g. DB connection, user session) no matter it is
used or not during a request.
Can
you Remember what is directory structure when you downloaded Yii?
backend/
common/
components/
config/
params.php
params-local.php *
lib/
Pear/
yii/
Zend/
migrations/
models/
Comment.php
Extension.php
...
console/
commands/
SitemapCommand.php
...
config/
main.php
main-local.php *
params.php
params-local.php *
runtime/
yiic.php *
frontend/
components/
config/
main.php
main-local.php *
params.php
params-local.php *
controllers/
SiteController.php
...
lib/
models/
ContactForm.php
SearchForm.php
runtime/
views/
layouts/
site/
www/
assets/
css/
js/
index.php *
yiic
yiic.bat
What
is the first file that gets loaded when you run a application using Yii?
=>index.php
What
is model,view,controller?
=> Models represent the
underlying data structure of a Web application. Models are often shared among
different sub-applications of a Web application. For example, a
LoginForm
model may be used by both the front
end and the back end of an application; a News
model may be used by the console
commands, Web APIs, and the front/back end of an application. Therefore, models
·
should contain properties to represent specific data;
·
should contain business logic (e.g. validation rules) to ensure
the represented data fulfills the design requirement;
·
may contain code for manipulating data. For example, a
SearchForm
model, besides representing the search
input data, may contain a search
method to implement the actual search.
=> Views are responsible for presenting
models in the format that end users desire. In general, views
·
should mainly contain presentational code, such as HTML, and
simple PHP code to traverse, format and render data;
·
should avoid containing code that performs explicit DB queries.
Such code is better placed in models.
·
should avoid direct access to
$_GET
, $_POST
, or other
similar variables that represent the end user request. This is the controller's
job. The view should be focused on the display and layout of the data provided
to it by the controller and/or model, but not attempting to access request
variables or the database directly.
·
may access properties and methods of controllers and models
directly. However, this should be done only for the purpose of presentation.
=>Controllers are the glue that binds models,
views and other components together into a runnable application. Controllers
are responsible for dealing directly with end user requests. Therefore,
controllers
·
may access
$_GET
, $_POST
and other PHP variables that represent
user requests;
·
may create model instances and manage their life cycles. For
example, in a typical model update action, the controller may first create the
model instance; then populate the model with the user input from
$_POST
;
after saving the model successfully, the controller may redirect the user
browser to the model detail page. Note that the actual implementation of saving
a model should be located in the model instead of the controller.
·
should avoid containing embedded SQL statements, which are
better kept in models.
·
should avoid containing any HTML or any other presentational
markup. This is better kept in views.
What
is the naming convention inYii?
=> You can define table prefix when using Gii. In
your case you need to set it to
tbl_
. Then it should generate UserController
instead of TblUserController
.
=> The Yii Framework employs a class naming convention whereby the names of
the classes directly map to the directories in which they are stored. The root
level directory of the Yii Framework is the “framework/” directory, under which
all classes are stored hierarchically.
Class names may only contain alphanumeric characters. Numbers are permitted
in class names but are discouraged. Dot (.) is only permitted in place of the
path separator.
What
is the component,helper and why are they used,is there other way we can do same
thing,what is better?
=> A component is an independent
piece of code written for specific task that can be used by calling in
controllers (example : email component), helper is used for helping yii in
rendering the data to be shown to user with views, these only adds to
modularity in code otherwise same coding can be implemented in controllers.
How
do you proceed when you have to use Yii for any application?
=> take the framework either from
Yii site or if you have changed according to your needs start from there. Proceed
with basic software engg. concepts as requirement gathering etc..
This is a basic Understanding Concept
in yii
1.
Yii-based apps are
driven by data logic. When I build an app, I always start by making sure that
my database schemes are well-designed and optimised to fit the business flow of
the app. Therefore, my codes are automatically generated based on my database
design. And, yes…
2.
… Yii can
generate the whole shebang of PHP codes for you automatically!
Just define which database you want to use, and with a few clicks it will
create a CRUD (create-read-update-delete) app for you. It looks so cute, I tell
you! Speaking of automatic…
3.
… Yii can
generate a skeleton app for you automatically. This skeleton app
include a view page, a login page,
contact page and basic navigation, all wrapped within a completely organized
folder tree based on the standard MVC programming model.
4.
The extensive choice
of Yii functions makes sense. As a self-taught web
programmer, I was able to map out its functions to all of the RESPONSE and
REQUEST tasks I most often use when building webapps within a matter of
minutes. It also doesn’t hurt that the Yii community has kindly provided cheat sheets for the functions so that I can do a
quick reference when I need to.
5.
The Definitive
Guide to Yii document that comes with the Yii install is
actually quite easy to go through, at least for me. I don’t know why, though. I
thought CakePHP docs were more user-friendly and attractive, but surprisingly I
was able to go through Yii documentation and tutorial in just two hours and not
get cross-eyed by the end of it.
6.
Yii uses MySQL and
SQLite as
its choice database types. Of course, you can run any other type of databases
as long as you have its PDO enabled in your php.ini file. I develop using MySQL
most of the time, but my fondness for SQLite is increasing, due to the fact
that SQLite is so darn lightweight and easy to use.
7.
Yii is integrated with
jQuery, which means that many of the necessary validation
functions I use can easily be plugged within the Yii function calls itself,
which is usually only a line of code or two.
8.
Yii is open-source,
and it’s free. Open-source products turn
me on.
What
is the first function that gets loaded from a controller?
=> index
what is habtm?
=>HasAndBelongsToMany
=>has and belongs to many is a kind
of associations that can be defined in models for retrieving associated data
across different entities.
11.
How can we use ajax in Yii?
=>by calling ajax helper and then
using it in controller for rendering.
12.If you have to validate a registrations module for a user,
what all can be possible ways, which one is the best?
=>can be done on submission in
controller, or using javascript/ajax while user is still filling the data. Second
option is better.
13.
can you list some database related functions in Yii?
=> find, findAll , findByPk , find
By ,query
14.
How can you include a javascript menu throught the site? Give Steps…
=>By adding the javascript files in
webroot and call them in default views if needed everywhere or just in the
related views.
Thats a great information.
ReplyDeleteIf we follow the above directory structure, Should I actually change "frontend" to something else? or should I have to write url rules?
How to deploy it to serever, so that www.MYSITE.com will be available?
Yes you can write a url rules.
DeleteIn this structure I created the separate front-end and Back-end module so if we write the url like
Front-end : www.MYSITE.com
Back-end : www.MYSITE.com/index.php/admin
not so much important .
ReplyDeleteIts about basic structure and initial understanding towards yii2. if you'd like to acquire more information about yii then emphasis your queries here.
DeleteReport Bugs Topic tells about the bug reports of this blogs....
ReplyDeleteYii Development Company India
Thnx fr valuable infotmation
ReplyDeleteInformation is valuable but there should be more explanation about yii2 as users will ameliorate their knowledge.
ReplyDeleteGreat work!The information is more valuable.Its about basic structure and initial understanding towards yii2.If you really searching about yii2,Have a look on yii2 development company,
ReplyDelete
ReplyDeleteHi Your Blog is very nice!!
Get All Top Interview Questions and answers PHP, Magento, laravel,Java, Dot Net, Database, Sql, Mysql, Oracle, Angularjs, Vue Js, Express js, React Js,
Hadoop, Apache spark, Apache Scala, Tensorflow.
Mysql Interview Questions for Experienced
php interview questions for freshers
php interview questions for experienced
python interview questions for freshers
tally interview questions and answers
codeingniter interview questions
cakephp interview questions
express Js interview questions
react js interview questions
laravel Interview questions and answers
Excellent post, it will be definitely helpful for many people. Keep posting more like this.
ReplyDeleteBlue Prism Training Chennai
Blue Prism Training Institute in Chennai
UiPath Training in Chennai
Data Science Training in Chennai
RPA course in Chennai
RPA Training Institute in Chennai
Blue Prism Training in Anna Nagar
Blue Prism Training in T Nagar
This comment has been removed by the author.
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteMay I basically say what an alleviation to find somebody that really understands what they are discussing on the web. You really realize how to expose an issue and make it significant. Much more individuals should take a gander at this and comprehend this side of the story. It's astounding you're not more mainstream given that you certainly have the blessing.
ReplyDeletelive
Nice blog...Very useful information is providing by ur blog..here is a way to find.
ReplyDeletePHP Developer In India
NcoerioFscel_i1986 Sarah Thomas https://wakelet.com/wake/dvuYOTrztC0tcmFJ5Mngp
ReplyDeletefiapicpolstech
0aranVrieshi Sharon Cook Site
ReplyDeleteAffinity Designer
Adobe After Effects
ligangtergder
ditaZcon-mu Joe Cable programs
ReplyDeleteget
upguncontli