Solved

Unique includes

Posted on 2002-04-23
5
219 Views
Last Modified: 2013-11-18
HI,

I think if there is a positive answer to this, then it'll be a complicated answer.

What I want to do is call some PHP script that is determined by values in the db, this will be performed in a loop n number of time. n will be determined by the number of records in the db.

The problems is, if the same peace of script is include more than once, there is potential clash of defined functions within the scripts.

I don't want to have to make sure all the scripts (in time potently 100's, if not 1000's) have unique function names.

Because of this, include and require are of no use to me, does anyone have a alternative idea, of how I could achieve this?

What I really want to be able to do is run or de_include an include file.

Thanks,
0
Comment
Question by:c96jg
5 Comments
 
LVL 5

Expert Comment

by:dkjariwala
ID: 6964022
You can use include_once or require_once depending on what you need to do.

JD
0
 
LVL 4

Expert Comment

by:lokeshv
ID: 6964521
can do with

if(!function_exists(any_function_name)){


    include("yourfile.php");
}


Lk
0
 
LVL 7

Expert Comment

by:axis_img
ID: 6964564
In my opinion, the method dkjariwala mentioned is the most efficient way. I always use include_once() for my scripts, as it just keeps you from making stupid mistakes by accidentally including the same file (functions) twice.

There is also the ability to see what files are included by using the get_included_files() function, but include_once() is the best method.

http://www.php.net/manual/en/function.include-once.php

http://www.php.net/manual/en/function.get-included-files.php

Regards,
Barry
0
 

Author Comment

by:c96jg
ID: 6965078
HI,

Thanks for the responses but include_once or require_once doesn’t solve the problem, as it is possible there will be code that gets executed on the inclusion. I.e. code not in a function. This code will need to be executed every time the inclusion happens. I can get a work around but would like to avoid it if I can.

Plus as implied in the question, there may in time be 2 or more functions with the same name in differant include doing differant things. Which is why I'm looking for a run type thing as oposed to an include.

Any other ideas?

Jim
0
 
LVL 4

Accepted Solution

by:
Gibble earned 200 total points
ID: 6968960
Manage the names, if they are for one application there should NEVER be two functions with the same name.

Adopt a standard naming scheme with some sort of namespace as part of the function name eg. app1_addrow()  or app2_addrow().

Otherwise you will never know what function you have, or what you are really using. (PS, putting functions in objects is another way to 'namespace' your function names)
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

These days socially coordinated efforts have turned into a critical requirement for enterprises.
Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
The viewer will learn the benefit of using external CSS files and the relationship between class and ID selectors. Create your external css file by saving it as style.css then set up your style tags: (CODE) Reference the nav tag and set your prop…
The viewer will the learn the benefit of plain text editors and code an HTML5 based template for use in further tutorials.

815 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now