application variables in a CFC

Ask a Question related to Coldfusion Component Development, Design and Development.

  1. #1

    Default application variables in a CFC

    I have some application variables declared in my Application.cfm file,
    and I want to be able to use them in my CFC. However, I've noticed
    that if I try to access an application variable (say, a datasource), I
    get an error saying "Variable XXX is undefined." So, I did some
    research and supposedly, it's bad practice to access application
    variables in a CFC. Not only is it a bad practice, but it doesn't
    even seem like it's possible in the first place without running into
    an error. What I'm wondering is, if it's such a bad thing to do, then
    what's the worst that can happen? Someone mentioned portability, but
    I'm still having trouble making the connection.

    I've searched all over, and the "best" reason I could find is that
    CFCs shouldn't be accessing anything outside of the CFC, hence
    breaking encapsulation. If that's the case, then can someone provide
    a concrete example where if I did access an application variable in a
    CFC, then all hell would break loose? Most best practices have some
    good logical reason behind them, which is all good and dandy, but this
    particular one seems to fall in the category of "you should follow
    this, but there are much worse things that can happen." Please
    advise. Thanks
    whatchamakeofit Guest

  2. Similar Questions and Discussions

    1. need help on application variables
      Hi, I need help on the usage of application variables... Can I populate application variables through my console application and use them in...
    2. DB Field name="application" and Application scope variables
      Hi, There is DB Field application which overwrited ,as I see , Application scope variable Are there way to solve this problem without using...
    3. Problem with Application variables using Application.cfc
      Hi guys, I'm using CFMX7 and with that the Application.cfc. I've defined the app variables using <cfset This.varname = "something"> I would like...
    4. ASP Application Variables
      I am using IIS 6.0 and am trying to use application variables to track uasge. They work fine as long as there is an active client but about 20...
    5. Global variables - application variables vs include file
      What are the best methods for using global constants and variables? I've noticed that many people put all global constants in a file and include...
  3. #2

    Default Re: application variables in a CFC

    I had the same exact problem when I started to incorporate CFC files
    into my applications. Instead of "variables" I started to use
    "request" scope variables. "Request" scope variables can be defined in
    application.cfm and used in subsequent .cfc modules. For example:

    application.cfm
    ....
    <cfset request.db_variable="my_sql_db">
    ....

    OOB.cfc
    ....
    <cfquery name="incaspulated_qry" datasource="#request.db_variable#">
    ....

    Egils Guest

  4. #3

    Default Re: application variables in a CFC

    I forgot to point out that I'm running CF 6 so creating an
    Application.cfc and putting the dsn in OnApplicationStart() is out of
    the question.

    I found out that rather than using an application variable, people
    just pass the variable via an argument to the CFC. Seems kinda
    kludgy, but I guess that might be my only option.

    Putting the dsn in the request scope is interesting. I've never seen
    it done that way before. What's the motivation behind that, out of
    curiosity?
    whatchamakeofit Guest

  5. #4

    Default Re: application variables in a CFC

    On May 12, 1:46*pm, whatchamakeofit <brendan.w...@gmail.com> wrote:
    > I forgot to point out that I'm running CF 6 so creating an
    > Application.cfc and putting the dsn in OnApplicationStart() is out of
    > the question.
    >
    > I found out that rather than using an application variable, people
    > just pass the variable via an argument to the CFC. *Seems kinda
    > kludgy, but I guess that might be my only option.
    >
    > Putting the dsn in the request scope is interesting. *I've never seen
    > it done that way before. *What's the motivation behind that, out of
    > curiosity?
    why don't you pass the application variable to the cfc as an argument
    instead of accessing it directly in cfc? or if it's something like
    datasource value create a this variable in the cfc and initialize
    value through/in an init function.

    [url]http://www.coldfusionjedi.com/index.cfm/2007/6/22/Find-the-bug[/url]

    See the comment by me (simplico).

    Hope this helps!
    simplico Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139